Ask your own agent about your Telltale data

View as Markdown

The analytics MCP server lets you ask Claude, Cursor, VS Code, Codex or any other MCP client about your Telltale data in plain words: "Which accounts used agents most this month?", "Which MCP tools fail most often?", "Where do agents get stuck?".

No coding agent? The same answers are on Home and in Your agent report in the dashboard; this page is for setting up the MCP connection.

It's read-only. It answers with counts, categories and timings for one site, plus the account IDs your own server sent. It can't change anything, and it never returns content.

There are two ways to connect, and both read one site, read-only:

Sign in from Claude

  1. In Claude, open its settings, go to Connectors and choose Add custom connector.
  2. Name it "Telltale analytics" and paste the address: https://app.trytelltale.dev/api/v1/analytics/mcp.
  3. Press Connect. A Telltale page opens: sign in if you aren't already, choose the site Claude may read, and press Allow read-only access.

The page shows which app is asking (and the web address that identifies it), where you go back to afterwards, and what it can read. Connecting takes a workspace owner or admin. The connection then shows in Ask your data › Connected apps, where an owner or admin can disconnect it at any time; it stops working at once.

How it works, for your security review:

Create an analytics key

  1. Open Settings › Ask your data › Analytics MCP keys for the site you want to ask about.
  2. Choose Create a key, give it a name you'll recognise later (such as "Claude Code on my laptop"), and copy the key. It starts with ao_ak_ and is shown once.

Only workspace owners and admins can create or revoke keys. A site can have up to five. Each key reads one site only: there's no way to name another site or workspace through it. Revoking a key stops it at once. Deleting the site removes its keys.

An analytics key isn't a server key. It can't send events, check rules or read anything outside these tools, and the analytics MCP server doesn't accept your server key or publishable key. Keep it like a password: anyone with the key can read that site's aggregates.

Connect your client

The server address is https://app.trytelltale.dev/api/v1/analytics/mcp. It uses Streamable HTTP with your key as a bearer token.

Claude Code

Shell
claude mcp add --transport http telltale-analytics https://app.trytelltale.dev/api/v1/analytics/mcp --header "Authorization: Bearer ao_ak_..."

Cursor (~/.cursor/mcp.json) and most other clients:

JSON
{
  "mcpServers": {
    "telltale-analytics": {
      "url": "https://app.trytelltale.dev/api/v1/analytics/mcp",
      "headers": { "Authorization": "Bearer ao_ak_..." }
    }
  }
}

VS Code (.vscode/mcp.json):

JSON
{
  "servers": {
    "telltale-analytics": {
      "type": "http",
      "url": "https://app.trytelltale.dev/api/v1/analytics/mcp",
      "headers": { "Authorization": "Bearer ao_ak_..." }
    }
  }
}

Windsurf (~/.codeium/windsurf/mcp_config.json) names the address serverUrl:

JSON
{
  "mcpServers": {
    "telltale-analytics": {
      "serverUrl": "https://app.trytelltale.dev/api/v1/analytics/mcp",
      "headers": { "Authorization": "Bearer ao_ak_..." }
    }
  }
}

Codex (~/.codex/config.toml), with the key in the TELLTALE_ANALYTICS_KEY environment variable:

toml
[mcp_servers.telltale-analytics]
url = "https://app.trytelltale.dev/api/v1/analytics/mcp"
bearer_token_env_var = "TELLTALE_ANALYTICS_KEY"

Claude (claude.ai, Claude Desktop): sign in instead of using a key; see Sign in from Claude.

Put the key in an environment variable or your client's secret store rather than in a file you share.

The tools

The tools
ToolWhat it answers
get-overviewSessions by verdict (Human, AI agent, Unknown; human, agent, unknown in the data), agent minutes, and AI agent calls through your MCP server and API, for the last 1 to 90 days.
list-agent-toolsEach MCP tool and API route: calls, errors, error rate and response times (p50 and p95 where measured), and the MCP clients agents used.
list-accountsYour customer accounts ranked by agent activity: agent minutes plus AI agent calls, per channel, with first and last agent use. totals.accountsUsingAgents counts only accounts your server confirmed, as Home does; totals.sentOnlyByThePage is the IDs only the page sent.
get-accountOne account (by the account ID your server sent): its agent minutes, calls per channel and client, and the tools and routes it used.
list-stuck-pointsThe issues in Issues: where agents failed, were refused or kept retrying (errors), tools and routes whose calls ran past your slow-call limit (slow) and tools whose responses were over your token limit (oversized), ranked by the accounts affected, each with its short issue ID and status. Filter with category.
get-issueOne issue by its short ID (such as AI-7K2M): what happened, its category, status, priority, counts, trend, first and last seen, and up to five sample MCP or API session IDs.
get-sessionOne MCP or API session by its ID (mcpsession_… or apisession_…): who drove it and how we know, the account ID, and each call's tool or route, outcome, time, response size and whether it was slow or oversized. Shapes only.
list-tool-suggestionsThings agents did by hand or tried to call with no approved tool behind them. One your MCP server or API already has says where (state on_mcp_server or on_api, existsOn). Nothing there is turned on.

Each tool returns structured content (with an output schema) and the same JSON as text, for clients that read either.

What it returns, and what it never returns

It returns counts, categories (Human, AI agent, Unknown), timings, tool and route names, page paths as templates, and the account IDs and names your own server sent.

It never returns: what people typed, tool-call arguments or results (Deep insights captures included), the "why" text agents gave, reasons, scores or evidence lists, browser session IDs, IP addresses, user agents, keys or tokens, or anything from another site or workspace. MCP and API session IDs appear only where you would look one up (an issue's sample sessions, and get-session, which answers found: false for an ID from another site).

Investigate with AI

The dashboard's session drawer (for MCP and API sessions) and issue drawer have an Investigate with AI button. It shows a prompt to copy into your own coding agent, such as "Use the Telltale analytics MCP server to investigate issue AI-7K2M". Your agent then calls get-issue and get-session with your analytics key. Telltale runs no AI for this.

Read the answers the way the dashboard reads them:

Limits

Troubleshooting