MCP server

The metricsKit MCP server: supported clients, the real tool list, client configuration, plan gating, and the current connection status.

Overview#

MCP (Model Context Protocol) lets AI clients read your metricsKit data over a standard protocol, with no bespoke integration per client.

Supported clients:

  • Claude Desktop
  • Cursor
  • Windsurf
  • Cline
  • Any MCP-compatible client

Current status#

Note: Honest note: the real MCP Worker endpoint is `https://mcp.metricskit.cloud/mcp`. Its authentication relies on the Cloudflare App endpoint `/api/v1/internal/identity` to resolve identity, but that endpoint is not implemented yet, so requests currently return 401 (Invalid token).
  • The console page `/dashboard/mcp` shows a metadata list of tools (11 tools) from `GET /api/v1/internal/mcp`; that is tool description metadata, not a working JSON-RPC MCP service.
  • The real Worker exposes 8 tools (next section), which are a different set from the 11 shown in the console.
  • The console-generated default endpoint falls back to `https://app.metricskit.cloud/api/v1/internal/mcp`, which is also not a JSON-RPC service; the real endpoint is `https://mcp.metricskit.cloud/mcp`.
Tip: Until the identity endpoint is wired up, MCP access is not usable; plan against the real endpoint and tools described here, and do not treat the console metadata as available capability.

Tool list#

The real MCP Worker exposes these 8 tools:

ToolPurposeDownstream call
metricskit_list_sitesList sites/api/v1/sites
metricskit_get_overviewOverview/api/v1/sites/:id/reports
metricskit_get_realtimeRealtime (described as last 15min)/api/v1/sites/:id/reports/realtime
metricskit_get_keywordsGSC keywords/api/v1/sites/:id/reports/keywords
metricskit_get_pagespeedPSI score/api/v1/sites/:id/reports/pagespeed
metricskit_get_notesTimeline notes/api/v1/sites/:id/notes
metricskit_askNatural-language Q&A/api/v1/sites/:id/ai/ask
metricskit_get_channelsChannel breakdown/api/v1/sites/:id/reports/channels
Note: `metricskit_get_realtime` is described as "last 15min", but the downstream `/reports/realtime` actually queries with `range:'today'` at hourly granularity; `metricskit_get_overview` hits the legacy `/reports`, not `/overview`.

Client configuration#

Add the following JSON to your client config, replacing `<API_KEY>` with the `mk_live_...` key you created in the console:

{
  "mcpServers": {
    "metricskit": {
      "type": "http",
      "url": "https://mcp.metricskit.cloud/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}
Note: This config is generic across Claude Desktop, Cursor, Windsurf and Cline; `url` uses the real MCP Worker endpoint `https://mcp.metricskit.cloud/mcp`.

Plan gating#

  • Free: only `metricskit_ask` is available (as a preview).
  • On Free, calling any other data tool returns JSON-RPC error `-32003`, with an upgrade link pointing to `${APP_BASE_URL}/pricing`.
  • Pro / Business: all tools are available.
Note: The MCP README lists Pro `$29/mo` and Business `$99/mo`, which disagree with the frontend prices — see "Plans & feature gating".
  • API keys & API access: /api-keys
  • Plans & feature gating: /plans
  • Overview & visitors metrics: /overview-metrics