MCP server

Ask Claude, ChatGPT, Cursor, Gemini CLI or any MCP-capable AI about your Piqo analytics — traffic, sources, signups, revenue and search performance — straight from the tool you already use.

Piqo runs a remote Model Context Protocol (MCP) server at https://piqo.app/mcp. Connect it once and your AI client gains read-only tools over every site you can see in the dashboard: headline totals, period comparisons, time series, breakdowns by page / referrer / country / device, signup sources, individual visitor journeys, and Google Search Console and Bing keyword data. The AI never touches raw data or SQL — it calls the same guarded queries the dashboard uses.

1. Create a token

  1. Open Account settingsAPI tokens.
  2. Give it a label (the client you're connecting) and click Create token.
  3. Copy it right away — it's shown once.

A token reads every site you're a member of and nothing else. It works on paid plans and during the trial. Revoke it any time from the same page.

2. Connect your client

Two forms of the same credential. Use the header form wherever the client lets you set headers. Use the URL form where the connector UI only has a URL field.

# Header form
URL:     https://piqo.app/mcp
Header:  Authorization: Bearer piqo_YOUR_TOKEN

# URL form (no headers needed)
https://piqo.app/mcp/piqo_YOUR_TOKEN

Claude Code

claude mcp add --transport http piqo https://piqo.app/mcp \
  --header "Authorization: Bearer piqo_YOUR_TOKEN"

Claude.ai and Claude Desktop

SettingsConnectorsAdd custom connector. Name it "Piqo", paste the URL form as the server URL, leave authentication off, and add. Then enable it in a chat from the tools menu.

ChatGPT

Turn on Developer mode under Settings → Connectors → Advanced, then Create a connector with the URL form and "No authentication". Enable it in a chat under the tools menu.

Cursor

Add to ~/.cursor/mcp.json (or the project's .cursor/mcp.json):

{
  "mcpServers": {
    "piqo": {
      "url": "https://piqo.app/mcp",
      "headers": { "Authorization": "Bearer piqo_YOUR_TOKEN" }
    }
  }
}

VS Code (GitHub Copilot) and Windsurf

Same JSON shape as Cursor. VS Code reads it from .vscode/mcp.json with a "servers" key and "type": "http"; Windsurf reads ~/.codeium/windsurf/mcp_config.json with "serverUrl" instead of "url".

Gemini CLI

Add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "piqo": {
      "httpUrl": "https://piqo.app/mcp",
      "headers": { "Authorization": "Bearer piqo_YOUR_TOKEN" }
    }
  }
}

3. Ask away

  • "How is my site doing this week compared to last?"
  • "Which referrers sent the most signups in the last 30 days?"
  • "Which Google keywords lost the most clicks this month?"
  • "What did [email protected] do before she paid?"
  • "Write my weekly report" — or run the built-in weekly_report prompt.

With more than one site, the AI calls list_sites first and passes the site's domain to every other tool. Name the site in your question to skip the round-trip.

Tools

  • list_sites — the sites this token can read.
  • get_summary, compare_periods, get_timeseries — headline totals, week-over-week style comparisons, bucketed series.
  • get_breakdown — top pages, entry/exit pages, referrers, countries, cities, devices, browsers, OS, custom events, outbound links, UTMs, click IDs.
  • get_signups_breakdown — where new accounts came from.
  • get_user_journey — one visitor's sessions, signup and payment records.
  • get_gsc_* and get_bing_* — Search Console / Bing summary, series, breakdowns and keyword movers (when connected).

Every tool accepts the dashboard's date ranges (today, 7d, 30d, 12m, custom with from/to) and the same segment filters.

Limits & security

  • Read-only. There is no tool that changes anything in your account.
  • 60 requests per minute per token. Over that you get 429.
  • Responses ride the dashboard's 30-second query cache.
  • Only a hash of the token is stored; the settings page can never show it again.
  • The URL form is the credential. Anyone with that URL can read your stats, so treat it like a password and revoke it if it leaks.
Want raw JSON instead of an AI? The Public API serves your stats at a secret URL for your own pages and scripts.