Seentics

Integration

AI assistants (MCP)

Seentics is a Model Context Protocol server. Connect Claude, Cursor, VS Code or any other MCP client and ask about your websites in plain English — across every site and client on your account.

What you can ask

  • “Which of my clients’ conversions dropped this week?”
  • “Summarize why mobile checkout is losing visitors.”
  • “Compare paid and organic traffic on the shop over the last 30 days.”
  • “Show me the most frustrated sessions from yesterday and what went wrong.”
  • “Which pages throw JavaScript errors, and how often?”

The assistant picks the tools; Seentics answers with your numbers. It reads only — the server has no tool that creates, changes or deletes anything.

Connect

  1. Open any website's Developers → AI assistants (MCP) tab and choose Create key. The AI assistant (MCP) access holds analytics:read, replays:read and heatmaps:read and nothing else.
  2. Add the server to your assistant with the key as a Bearer token:
Claude Code
claude mcp add --transport http seentics https://api.seentics.com/api/v1/mcp \
  --header "Authorization: Bearer $SEENTICS_API_KEY"
Claude Desktop — claude_desktop_config.json
{
  "mcpServers": {
    "seentics": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.seentics.com/api/v1/mcp",
        "--header",
        "Authorization: Bearer YOUR_API_KEY"
      ]
    }
  }
}
Cursor — ~/.cursor/mcp.json
{
  "mcpServers": {
    "seentics": {
      "url": "https://api.seentics.com/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
VS Code — .vscode/mcp.json
{
  "servers": {
    "seentics": {
      "type": "http",
      "url": "https://api.seentics.com/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Any other client: Streamable HTTP at https://api.seentics.com/api/v1/mcp, with Authorization: Bearer … (or X-API-Key). The server is stateless and answers JSON; there is no event stream.

Tools

ToolWhat it answers
list_websitesYour websites, their ids and the client each belongs to. Every other tool takes a website_id from here.
compare_websitesEvery site (or one client’s) over the last N complete days against the N before: visitors, pageviews, goal completions, revenue, leads, ad conversions, recordings — biggest drop first, with totals per client.
explain_changeWhat moved on one site: traffic, each device, each channel, the pages that gained or lost most, the main conversion event.
compare_segmentSessions, bounce rate, conversions and conversion rate for a device, channel and/or entry page, against the previous period.
get_goal_statsEach goal’s completions and conversion rate.
get_traffic_summary · get_top_pages · get_top_sources · get_audience_breakdownTraffic and audience, as the dashboard shows them.
list_funnels · get_funnel_performance · get_revenue_summaryFunnels step by step, and revenue.
list_frustrated_sessions · get_session_summary · list_recent_sessionsSession recordings (needs replays:read).
list_heatmap_pages · get_heatmap_insightsHeatmaps (needs heatmaps:read).
list_error_groups · list_alerts · list_recommendations · get_impact_reportJavaScript errors, anomaly alerts, and what Seentics suggested and what it changed.

These are the same reads the dashboard's Seentics AI uses, so the two always agree. A key sees only the tools its scopes allow, and only its own account's websites.

Good to know

  • Comparisons cover complete UTC days, ending yesterday, so a half-finished today never reads as a drop.
  • The data includes text your visitors wrote — page paths, titles, event names, error messages. The server tells the assistant to treat it as data, and since nothing it can call writes, a hostile page title cannot make it change anything.
  • Requests count against the key's rate limit, like the REST API. Delete the key to disconnect the assistant.

Keep the key in the assistant's config

Anyone with the key can read your analytics. Don't paste it into a chat or commit a project's mcp.json with it — use an environment variable where the client supports one.

See API keys for scopes and key hygiene.