Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
Give your AI agents direct access to website analytics. Query visitor sessions, investigate UX friction, analyze conversion funnels, review campaigns and errors, and get anomaly alerts — all from Claude, Cursor, or any MCP-compatible client.
Use this when your client supports remote MCP servers or connector-style OAuth. No local package install is required.
| Field | Value |
|---|---|
| Endpoint | https://krystalview.com/mcp |
| Transport | streamable-http |
| Authentication | OAuth authorization code + PKCE |
| OAuth metadata | https://krystalview.com/.well-known/oauth-authorization-server |
| Protected resource metadata | https://krystalview.com/.well-known/oauth-protected-resource |
During OAuth, KrystalView asks the signed-in user to choose the site the MCP client can read. The issued token is read-only and scoped to that site. The hosted OAuth server supports dynamic client registration, authorization code + PKCE, resource indicators, refresh-token rotation, and token revocation.
For clients that support custom headers instead of OAuth, the hosted endpoint also accepts a KrystalView read API key as either:
Authorization: Bearer kv_live_...
or:
X-API-Key: kv_live_...
Use this when your MCP client runs local stdio servers, such as Claude Desktop, Claude Code, Cursor, or similar developer tools.
pip install krystalview-mcp
Generate an API key in your KrystalView console under Settings > API Keys.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"krystalview": {
"command": "krystalview-mcp",
"env": {
"KRYSTALVIEW_API_KEY": "your-api-key-here"
}
}
}
}
claude mcp add krystalview -- krystalview-mcp
# Then set your API key:
export KRYSTALVIEW_API_KEY="your-api-key-here"
Add to your MCP settings:
{
"krystalview": {
"command": "krystalview-mcp",
"env": {
"KRYSTALVIEW_API_KEY": "your-api-key-here"
}
}
}
| Tool | Description |
|---|---|
get_sessions | List/search visitor sessions with filters (device, location, friction, rage clicks) |
get_session_detail | Deep dive into a specific session — full timeline, events, navigation path |
get_site_stats | Aggregate performance metrics — sessions, friction, devices, top pages |
get_scroll_depth | Scroll-depth buckets for a specific page path |
get_live_visitors | Currently active visitor count and recent live sessions |
get_anomalies | AI-detected anomalies with explanations (traffic spikes/drops, friction surges) |
get_funnels | List defined conversion funnels |
get_funnel_analysis | Step-by-step funnel conversion rates and drop-off analysis |
get_campaign_summary | UTM campaign attribution summary |
get_campaign_sessions | Visitor sessions from a specific campaign |
get_campaign_roas | Paid campaign spend, conversions, and ROAS where connected |
get_errors | Aggregated client-side browser errors |
get_notifications | Recent KrystalView notifications and insights |
Once connected, try asking your AI assistant:
| Variable | Required | Default | Description |
|---|---|---|---|
KRYSTALVIEW_API_KEY | Yes | — | Your KrystalView API key |
KRYSTALVIEW_BASE_URL | No | https://krystalview.com/api | API base URL |
KRYSTALVIEW_TIMEOUT | No | 15 | Request timeout in seconds |
API keys have configurable rate limits (default: 60 requests per minute). Rate limit headers are included in every response. If you hit the limit, the server returns a clear error with retry timing.
MIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx krystalview-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-krystalview-krystalview": {
"command": "uvx",
"args": [
"krystalview-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencekrystalview-mcppypiKrystalView Analytics works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.