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
- Open any website's
Developers → AI assistants (MCP)tab and chooseCreate key. The AI assistant (MCP) access holdsanalytics:read,replays:readandheatmaps:readand nothing else. - Add the server to your assistant with the key as a Bearer token:
claude mcp add --transport http seentics https://api.seentics.com/api/v1/mcp \
--header "Authorization: Bearer $SEENTICS_API_KEY"{
"mcpServers": {
"seentics": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.seentics.com/api/v1/mcp",
"--header",
"Authorization: Bearer YOUR_API_KEY"
]
}
}
}{
"mcpServers": {
"seentics": {
"url": "https://api.seentics.com/api/v1/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}{
"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
| Tool | What it answers |
|---|---|
| list_websites | Your websites, their ids and the client each belongs to. Every other tool takes a website_id from here. |
| compare_websites | Every 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_change | What moved on one site: traffic, each device, each channel, the pages that gained or lost most, the main conversion event. |
| compare_segment | Sessions, bounce rate, conversions and conversion rate for a device, channel and/or entry page, against the previous period. |
| get_goal_stats | Each goal’s completions and conversion rate. |
| get_traffic_summary · get_top_pages · get_top_sources · get_audience_breakdown | Traffic and audience, as the dashboard shows them. |
| list_funnels · get_funnel_performance · get_revenue_summary | Funnels step by step, and revenue. |
| list_frustrated_sessions · get_session_summary · list_recent_sessions | Session recordings (needs replays:read). |
| list_heatmap_pages · get_heatmap_insights | Heatmaps (needs heatmaps:read). |
| list_error_groups · list_alerts · list_recommendations · get_impact_report | JavaScript 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
mcp.json with it — use an environment variable where the client supports one.See API keys for scopes and key hygiene.