Back to Directory/Analytics & BI

Statable

Privacy-first, cookieless web analytics: traffic, sources, pages, goals, funnels and site setup.

Analytics & BIJavaScriptv1.0.1

Statable MCP server

npm

Ask your AI assistant about your website traffic. This package connects Claude, Cursor, ChatGPT, Claude Desktop and any other MCP client to Statable, a privacy-first, cookieless web analytics service hosted in the EU.

It is a thin stdio bridge to the hosted Statable MCP endpoint (https://mcp.statable.com/mcp). Every tool call is forwarded there with your API key. Nothing is stored locally.

Which way to connect

Your clientUse
Claude Code, Cursor, ChatGPT, Codex and other clients with OAuth supportConnect directly to https://mcp.statable.com/mcp and sign in in the browser. No key, no package. See the docs.
Claude Desktop, hosts that only run local stdio servers, CI scripts, sandboxesThis package with an API key.

Quick start

  1. In the Statable dashboard open Settings → API keys → Create API key. Keys start with stbl_. Pick the sites and permissions the assistant may use.
  2. Add the server to your client. Claude Desktop (claude_desktop_config.json):
{
  "mcpServers": {
    "statable": {
      "command": "npx",
      "args": ["-y", "@statable/mcp"],
      "env": { "STATABLE_API_KEY": "stbl_your_key" }
    }
  }
}

Cursor (~/.cursor/mcp.json) and most other hosts accept the same shape.

Claude Code:

claude mcp add statable --scope user -e STATABLE_API_KEY=stbl_your_key -- npx -y @statable/mcp
  1. Ask: "How many visitors did example.com have last week, and where did they come from?"

Tools (25)

Read: list_sites, query_stats, top_pages, top_sources, top_countries, top_custom_events, top_goals, list_goals, list_prop_keys, list_funnels, funnel_report, current_visitors, visitors_over_time, get_tracking_snippet, get_site_filters, get_subscription

Set up: create_site, update_site, create_goal, update_goal, create_funnel, update_funnel, get_tracking_settings, update_tracking_settings, update_site_filters

query_stats is the general one: aggregates, time series or a top-N breakdown over any metric (visitors, pageviews, bounce rate, engagement, goals, exit rate…), any dimension (source, page, country, device, UTM, custom event property…) and filters, with period-over-period comparison. All numbers come back in the site's own timezone. Full reference: statable.com/docs/integrations/mcp.

Write tools only touch configuration (sites, goals, funnels, tracking features, filters). Nothing deletes data.

Configuration

SettingEnvFlagDefault
API keySTATABLE_API_KEY--api-keynone
Remote endpointSTATABLE_MCP_URL--urlhttps://mcp.statable.com/mcp

Without a key the server still starts and advertises its tools (so registries and hosts can inspect it), but every call returns a short message explaining how to add one.

Run from source

git clone https://github.com/key-arg/statable-mcp.git
cd statable-mcp
npm install
STATABLE_API_KEY=stbl_your_key npm test

Docker:

docker build -t statable-mcp .
docker run -i --rm -e STATABLE_API_KEY=stbl_your_key statable-mcp

About Statable

Statable is cookieless web analytics built for the EU: no consent banner needed for the core tracker, data hosted in the Netherlands, a tracker between 0.5 and 2 KB, goals, funnels, custom events, a public Stats API and this MCP server. Free tier for personal, educational and open-source sites.

Support: support@statable.com · Registry: com.statable/analytics in the official MCP registry

MIT © Key Arg B.V.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @statable/mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "com-statable-analytics": {
      "command": "npx",
      "args": [
        "-y",
        "@statable/mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@statable/mcpnpm

Compatible MCP Clients

Statable works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More