About KrystalView Analytics
KrystalView Analytics is a read-only MCP server for AI assistants investigating website behavior and performance. It provides session-level and aggregate analytics through hosted remote or local stdio connections.
Key features
- 01Search visitor sessions and timelines
- 02Review site metrics and scroll depth
- 03Analyze funnels and campaign attribution
- 04Track live visitors and anomalies
- 05Inspect browser errors and notifications
Use cases
- 01Find friction and rage clicks in sessions
- 02Locate checkout funnel drop-offs
- 03Compare campaign traffic and ROAS
- 04Investigate traffic changes and browser errors
MCP support
Exposes read-only website analytics tools to MCP clients, including session, funnel, campaign, error, live-visitor, and anomaly data. It can connect through a hosted remote endpoint or a local stdio package.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://krystalview.com/mcpclaude mcp add --transport http krystalview-krystalview https://krystalview.com/mcp{"mcpServers":{"krystalview-krystalview":{"type":"http","url":"https://krystalview.com/mcp"}}}Open in Cursor{"servers":{"krystalview-krystalview":{"type":"http","url":"https://krystalview.com/mcp"}}}Open in VS Code{"mcpServers":{"krystalview-krystalview":{"type":"http","url":"https://krystalview.com/mcp"}}}{"mcpServers":{"krystalview-krystalview":{"serverUrl":"https://krystalview.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
13| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | Maximum results to return. |
| query | string | No | Search entry or exit URLs, for example /pricing. |
| offset | integer | No | Pagination offset. |
| country | string | No | Country name filter. |
| device_type | enum | No | Device type filter.desktop | mobile |
| min_duration | integer | No | Minimum session duration in seconds. |
| min_friction | integer | No | Minimum friction score. |
| has_rage_clicks | boolean | No | Only sessions with rage clicks. |
Details
From the project READMEKrystalView MCP Server
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.
Connection Options
Hosted Remote MCP
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_...
Local stdio MCP Package
Use this when your MCP client runs local stdio servers, such as Claude Desktop, Claude Code, Cursor, or similar developer tools.
Install
pip install krystalview-mcp
Configure
Generate an API key in your KrystalView console under Settings > API Keys.
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"krystalview": {
"command": "krystalview-mcp",
"env": {
"KRYSTALVIEW_API_KEY": "your-api-key-here"
}
}
}
}
Claude Code
claude mcp add krystalview -- krystalview-mcp
# Then set your API key:
export KRYSTALVIEW_API_KEY="your-api-key-here"
Cursor
Add to your MCP settings:
{
"krystalview": {
"command": "krystalview-mcp",
"env": {
"KRYSTALVIEW_API_KEY": "your-api-key-here"
}
}
}
Available Tools
| 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 |
Example Prompts
Once connected, try asking your AI assistant:
- "How's my site performing this week?"
- "Show me frustrated mobile users from the last 24 hours"
- "Why did our traffic drop yesterday?"
- "Where are users dropping off in the checkout funnel?"
- "Find sessions with rage clicks on the pricing page"
- "Which campaigns are driving the most high-friction sessions?"
- "Show me unresolved browser errors with sample session IDs"
- "Are there any anomalies I should know about?"
Environment Variables
| 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 |
Rate Limits
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.
Security
- API keys are scoped to a single site — agents can only access data for the site the key was created for
- OAuth tokens issued by the hosted MCP endpoint are read-only and scoped to the selected site
- Hosted OAuth supports refresh-token rotation and token revocation
- Browser-originating MCP/OAuth requests are checked against explicit trusted origins
- Tools are read-only
- All requests use HTTPS
- Keys can be rotated or revoked in the KrystalView console
- The local stdio package stores no data — it proxies directly to the KrystalView API
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.