MCP server
Ask your analytics, in plain language.
Connect Claude Code, Cursor or your own agent to Wholetally. It reads your traffic, AI crawlers and revenue through read-only tools, and answers with your numbers.
Built for any MCP client, including
- Claude
- ChatGPT
- Gemini CLI
- Cursor
- GitHub Copilot
- Zed
- Perplexity
Clients that send a bearer header (Claude Code, Cursor, mcp-remote) connect today. Claude.ai and ChatGPT connectors need OAuth sign-in, which follows later. Hover a name for setup details. Trademarks belong to their owners. Not affiliated.
Which AI assistants sent us visitors last week, and what did they read?
{ "site_id": "example-shop", "period": "7d" }read-only"ai_referrals": [
{ "source": "chatgpt.com", "visitors": 312, "top_page": "/shirts/linen" },
{ "source": "perplexity.ai", "visitors": 118, "top_page": "/sizing" },
{ "source": "claude.ai", "visitors": 47, "top_page": "/shirts/linen" }
]
ChatGPT sent the most: 312 visitors, mostly to /shirts/linen. Perplexity followed with 118, mainly reading /sizing, and Claude sent 47.
- chatgpt.com312
- perplexity.ai118
- claude.ai47
Which sources led to payments in October?
{ "site_id": "example-shop", "from": "2026-10-01", "to": "2026-10-31" }read-only"amounts_in": "minor units (cents)",
"revenue": [
{ "source": "google", "net": 418000, "orders": 61 },
{ "source": "newsletter", "net": 192000, "orders": 33 },
{ "source": "chatgpt.com", "net": 86000, "orders": 12 }
]
Google search led with €4,180 from 61 orders. The newsletter brought €1,920 from 33, and chatgpt.com €860 from 12, net of refunds.
- google€4,180
- newsletter€1,920
- chatgpt.com€860
Compare this week with last week. What changed?
{ "site_id": "example-shop", "period": "7d" }read-only"current": { "visitors": 2525, "pageviews": 7082 },
"previous": { "visitors": 2140, "pageviews": 6380 },
"change_pct": { "visitors": 18, "pageviews": 11 }
Visitors rose 18%, from 2,140 to 2,525. Pageviews rose 11%, from 6,380 to 7,082, so people read slightly fewer pages per visit.
- Visitors+18%
- Pageviews+11%
What you can ask
Questions you’d open three reports for.
- 01
“Which pages did AI crawlers read most this month?”
Hits per crawler and per page, training vs search vs user fetches.
ai_traffic - 02
“Compare the last 30 days with the 30 before.”
Both periods side by side, with the change in percent.
compare_periods - 03
“Which sources led to payments in October?”
Net revenue and orders per source, from Stripe (incl. iDEAL).
revenue_by_source - 04
“What were our top landing pages last week?”
Pageviews and entries per page.
top_pages - 05
“How many visits came from the spring campaign?”
Visits per channel, source and UTM campaign.
sources - 06
“Write this week’s summary for the team.”
A plain-language summary built from computed facts.
weekly_report
Tools
Nine tools, one write.
Your agent picks the tool, the server does the counting. Every answer starts from a real query.
| Tool | Returns | Access |
|---|---|---|
list_sites | The sites this key can read | Read |
get_stats | Visitors, pageviews, events and AI crawler hits, with a daily series | Read |
compare_periods | A period against the one before it, with the change | Read |
top_pages | Most viewed pages, with entries | Read |
sources | Visits per channel, source and campaign, AI assistants included | Read |
ai_traffic | AI crawlers per page, and visitors referred by AI assistants | Read |
revenue_by_source | Net revenue per source from Stripe (incl. iDEAL) | Read |
get_funnel | A funnel’s steps, conversion, drop-off and sources, against the period before | Read |
weekly_report | This week against last week, in plain language | Read |
add_site | Add a site and get its install snippet | Write |
Setup
Connected in a minute.
- Create a key in the dashboard: read-only, for one site or all.
- Add the server to your client with the snippet.
- Ask. Your agent finds the right tool.
Create keys under Account in the app. Claude.ai and ChatGPT connectors need OAuth sign-in, which follows later.
claude mcp add --transport http wholetally https://api.wholetally.com/mcp \
--header "Authorization: Bearer wt_…"{
"mcpServers": {
"wholetally": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.wholetally.com/mcp",
"--header",
"Authorization: Bearer ${WT_KEY}"
],
"env": {
"WT_KEY": "wt_…"
}
}
}
}{
"mcpServers": {
"wholetally": {
"url": "https://api.wholetally.com/mcp",
"headers": {
"Authorization": "Bearer wt_…"
}
}
}
}URL https://api.wholetally.com/mcp
Transport Streamable HTTP
Header Authorization: Bearer wt_…Privacy and security
Your agent sees counts, never people.
- Read-only keys
- A key reads your numbers. Only a key with the write scope can add a site, and nothing can delete.
- Scoped per site
- Give an agent one site, or all of them. Revoke a key and it stops working at once.
- No personal data
- There’s none to hand over: no cookies, no IP addresses, no visitor IDs. Only counts.
- EU infrastructure
- Collection and storage are planned on EU infrastructure. A model your agent calls (or in-app Ask via OpenRouter) is outside that.
Count the visitors you’ve been missing.
30-day free trial, no card needed. Create an account with your work email and add your first site.