DevDome Analytics
Website traffic, bot reports, realtime visitors and site health for your DevDome sites
Hosted MCP Server
npx add-mcp 'https://analytics.devdome.com/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
1URL, no install
10tools, from stats to site health
9clients documented below
0data stored on our side
The server is a stateless proxy over your account at https://analytics.devdome.com/mcp. Every answer comes straight from your live data, scoped to your API key. The same data is available as a plain REST API.
01
Get your API key
One key per account, created under Account → API. It is shown exactly once - copy it right away. Preferred transport is the Authorization: Bearer header; clients that cannot send headers append ?key=YOUR_API_KEY to the URL instead (treat that URL as a secret).
02
Connect your client
Pick yours - each card is the complete setup.
Claude Code
Terminal
One command in your terminal:
claude mcp add devdome https://analytics.devdome.com/mcp \
-t http -H "Authorization: Bearer YOUR_API_KEY"
Claude Desktop
Config file
Settings, Developer, Edit Config. Add this to claude_desktop_config.json and restart the app:
{
"mcpServers": {
"devdome": {
"url": "https://analytics.devdome.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Claude.ai (web)
In the browser
Settings, Connectors, Add custom connector. The dialog cannot send headers, so the key rides in the URL:
https://analytics.devdome.com/mcp?key=YOUR_API_KEY
Cursor
Config file
Settings, MCP, Add new global MCP server (or.cursor/mcp.json in a project):
{
"mcpServers": {
"devdome": {
"url": "https://analytics.devdome.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Windsurf
Config file
Settings, Cascade, MCP Servers (or ~/.codeium/windsurf/mcp_config.json - note serverUrl):
{
"mcpServers": {
"devdome": {
"serverUrl": "https://analytics.devdome.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
VS Code (Copilot)
Config file
Command palette, "MCP: Add Server", HTTP - or.vscode/mcp.json:
{
"servers": {
"devdome": {
"type": "http",
"url": "https://analytics.devdome.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
ChatGPT
In the browser
Settings, Connectors, Advanced, Developer mode, then Create connector. ChatGPT cannot send custom headers, so the key rides in the URL:
https://analytics.devdome.com/mcp?key=YOUR_API_KEY
Zed
Config file
settings.json, context_servers:
{
"context_servers": {
"devdome": {
"source": "custom",
"url": "https://analytics.devdome.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Any other MCP client
Terminal
Plain streamable HTTP, no OAuth, no session. Prove it works with curl:
curl https://analytics.devdome.com/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
03
What it can do
Ten tools, each mapped 1:1 to a dashboard report. Time arguments default to the full history your plan retains.
| Tool | Arguments | What it answers |
|---|---|---|
list_sites | none | The sites on your account with verification status. |
add_site | domain | Add a website. Returns the tracking snippet; stays pending until verified. |
verify_site | domain | Verify a pending website (installed snippet or DNS TXT record). |
get_stats | site, days? | from?/to? | Headline KPIs vs the previous window. |
get_timeseries | site, days? | from?/to? | Daily traffic series in the site timezone. |
get_breakdown | site, dimension, days?, limit? | Top-N by pages, referrers, countries, devices, browsers, os, dates, keywords, products or redirects. |
get_bot_report | site, kind?, days? | Which bots hit the site and why they were flagged; kind "threats" = detection-category totals. |
get_realtime | site | Visitors active in the last 5 minutes with their current page. |
get_visitors | site, days?, limit? | Recent individual visits with step-by-step paths. |
get_site_health | site | Uptime, response times, TLS/DNS checks and incidents. |
Things to ask
Once connected, these all work out of the box:
- “How was my traffic this week compared to last week?”
- “Which pages got the most visitors this month, and which of them are broken?”
- “Which bots hit example.com yesterday, and how much of my traffic is bots?”
- “Where do my visitors come from - top referrers and countries for the last 90 days?”
- “Is anyone on my site right now? What are they looking at?”
- “Add newsite.com to my DevDome account and give me the snippet to install.”
- “Is my site healthy? Any downtime incidents this month?”
- “Write a weekly traffic report I can paste into Slack.”
Troubleshooting
The four things that ever go wrong, and their fixes.
- 401 invalid API key: the key was mistyped, revoked or rotated. Copy a fresh one from Account, API.
- 429 rate limit: 60 requests per minute per key. Assistants that fan out many tool calls can hit this; it resets within a minute.
- "not your site": the site argument must be a domain on THIS account, in punycode for international names (münchen.de = xn--mnchen-3ya.de). Ask the assistant to run list_sites first.
- Client cannot connect: the server answers POST with JSON-RPC only - no OAuth, no session. Verify with the curl example above, then check your client uses the HTTP transport.