What is an MCP analytics server?
An MCP (Model Context Protocol) analytics server exposes your analytics data to an AI assistant or editor as a set of tools it can call. Instead of copying numbers into a chat, your assistant queries the server directly, so you ask questions about your traffic, funnels, and retention in plain English and get answers computed from your real data.
What MCP is, in one paragraph
MCP, the Model Context Protocol, is an open standard for connecting AI assistants to external tools and data. A model that speaks MCP can ask a server what tools it offers and then call them, which turns any system into something your assistant can read and act on. It is the wiring between the model in your editor and the world outside its training data. An MCP analytics server is that pattern pointed at analytics: it publishes your metrics as callable tools, so the assistant can fetch a funnel or a retention number the same way it would call any other MCP tool.
Why ask your data from Cursor or Claude at all?
The point is to stop context-switching. Your analytics questions arrive while you are writing code, not while you are staring at a dashboard, so with an MCP analytics server you ask them where you already are:
Because the server hands back real numbers, the assistant answers from your data instead of guessing. And because your editor's own model does the asking (bring-your-own-AI), the AI part of the workflow costs nothing extra, you pay for the analytics, not for a second model.
smolanalytics as the MCP analytics server
smolanalytics is an MCP analytics server you can use today. It runs your project as a single Go binary instance that does web and product analytics (visitors, referrers, funnels, retention, paths, cohorts) from one snippet, and it exposes all of that to your assistant over MCP: 97 tools and 15 prompts. The flagship three: investigate runs the whole desk in one call (findings, causes, costs, quarter movements), backtest replays your history and dates each finding by when it would first have surfaced, and mark_finding_acted records that you acted on a finding so it can upgrade to verified when the metric recovers. If you build AI agents, the same tools also return computed agent observability, tool-call error rates and latency (p50/p90/p99), an error taxonomy, and conversation health like re-asks, abandons, and resolution. On the cloud you connect once with your org token from Settings and that one connection operates every project: pass project="<name>" to any tool and it routes to that project's own instance for you, with the read key kept server-side. Set it up once and it persists, then you just ask. Or run npx smolanalytics connect once and it wires the connection into Cursor, Claude Code, VS Code, and Windsurf for you.
The load-bearing detail is that answers are computed, not generated. Each tool returns a value from the same deterministic report the dashboard renders, so the language model phrases the reply but never makes up the figure.
There is also a plain-English ask bar in the dashboard reading the same reports, so the two surfaces can never disagree. How the two surfaces relate is explained on how it works.