Data MCP
The dashboard’s data, for your agents
A Model Context Protocol server at mcp.kasprdata.com/data/mcp that answers the dashboard’s questions from the same measurement, gated by the same plans. Install it in Claude Code, Claude Desktop or Cursor with a key.
Updated 6 October 2026 · Data MCP v0.1
Overview
The Data MCP exposes the dashboard’s data to an agent: district profiles and monthly series, country league tables and overviews, recent alerts and anomaly episodes, listed companies’ footprints and exposure, and what the measurement covers. Each tool returns rows with the data vintage, the source files and the plan gates applied.
Access is by key. Keys are issued by hand during the beta and carry a plan, Free, Pro or Enterprise, with the same gates as the dashboard: district-level detail and exports on Pro, full history, episode detail and company compare on Enterprise. A Free key sees what a Free account sees, including the worked examples in full.
The server is in beta. Tool names, fields and limits may change; every result names its vintage, and the measurement behind it is the dashboard’s committed snapshot, not live monitoring.
The same questions, asked the way you normally would
The dashboard’s data behind an MCP server. Each tab is one application, asked in Claude Code; the server answers from the measurement and the agent reads the result back.
Find a district, read its profile, and see which state ranks first in the country.
Simulated session: the typing is staged, but every tool call and result is what the Data MCP returned for these questions on the dashboard’s data, with the vintage named in each result. The Predict & Schedule tab is KASPR Schedule’s timing server.
Quick start
1. Get a key
Ask through Contact sales and you receive a key that starts with kmcp_ and carries your plan. Using it, or installing the server with it, is acceptance of the terms.
2. Claude Code
One command. Afterwards /mcp inside Claude Code lists kaspr-data with thirteen tools and the coverage and terms resources.
claude mcp add --transport http kaspr-data https://mcp.kasprdata.com/data/mcp --header "Authorization: Bearer kmcp_…"2. Cursor and other clients with a JSON configuration
Add the server to the client’s MCP configuration (for Cursor, .cursor/mcp.json).
{
"mcpServers": {
"kaspr-data": {
"url": "https://mcp.kasprdata.com/data/mcp",
"headers": { "Authorization": "Bearer kmcp_…" }
}
}
}2. Claude Desktop
Claude Desktop reaches remote servers through the mcp-remote bridge; add this to claude_desktop_config.json.
{
"mcpServers": {
"kaspr-data": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.kasprdata.com/data/mcp", "--header", "Authorization: Bearer kmcp_…"]
}
}
}3. Ask
Ask the question you would ask anyway; the client picks the tool. For example: “Which districts does Siemens’s infrastructure sit in, and how does it compare with SAP?”
A 401 means the key is missing or revoked; a 403 names the plan the tool needs; a result always carries meta.data_vintage.
By continuing, you agree to our Terms & Conditions and Privacy Policy.
Keys and plans
Every call carries Authorization: Bearer <key>. The server checks the key, reads its plan, and forwards the question to the dashboard with that plan; the dashboard applies the same gates it applies to a signed-in account.
Rows are capped per plan: 50 on Free, 500 on Pro, 5,000 on Enterprise. A capped result says so in meta.truncated with the total available.
Tools
One entry per tool, in the server’s order. Parameters are read from the server’s own schemas; unknown parameters are refused with invalid_request. What the measurement covers (regions and districts per country) is a resource, kaspr-data://coverage, not a tool. A gate fires only under the condition named; outside it the tool answers on every plan.
search_areas
Find districts, regions or countries by name; returns ids to use elsewhere.
Plan gates it can hit: none — answers on every plan
Parameters
| Name | Type | Required |
|---|---|---|
| query | string | yes |
| limit | integer | no |
area_profile
One place: its identity, verdict, reliability percentile, weekly swing and support.
Plan gates it can hit: Pro (District-level detail) for a district (adm2) id other than the worked example
Parameters
| Name | Type | Required |
|---|---|---|
| area_id | string | yes |
area_monthly
The monthly series for one place, optionally between two months.
Plan gates it can hit: Pro (District-level detail) for a district (adm2) id other than the worked example; Enterprise (Full history) for a from_ym more than a year back
Parameters
| Name | Type | Required |
|---|---|---|
| area_id | string | yes |
| from_ym | integer | no |
| to_ym | integer | no |
area_typical_week
The typical week for one place: 168 hourly values.
Plan gates it can hit: Pro (District-level detail) for a district (adm2) id other than the worked example
Parameters
| Name | Type | Required |
|---|---|---|
| area_id | string | yes |
country_league
Every region or district of a country ranked for a month.
Plan gates it can hit: Pro (District-level detail) when level is adm2; Enterprise (Full history) for a month more than a year back
Parameters
| Name | Type | Required |
|---|---|---|
| iso | string | yes |
| level | "adm1" | "adm2" | no |
| ym | integer | no |
country_overview
A country’s latest month and its divergence between best and worst districts, month by month.
Plan gates it can hit: Enterprise (Full history) for a from_ym more than a year back
Parameters
| Name | Type | Required |
|---|---|---|
| iso | string | yes |
| from_ym | integer | no |
recent_alerts
The open alerts, optionally for one country or one type, with the feed’s freshness.
Plan gates it can hit: none — answers on every plan
Parameters
| Name | Type | Required |
|---|---|---|
| iso | string | no |
| type | "connectivity" | "latency" | no |
search_episodes
Anomaly episodes by country, place, class, dates and length.
Plan gates it can hit: Pro (District-level detail) for a district (adm2) id other than the worked example
Parameters
| Name | Type | Required |
|---|---|---|
| iso | string | no |
| area_id | string | no |
| classes | array | no |
| from | string | no |
| to | string | no |
| min_days | integer | no |
| limit | integer | no |
get_episode
One episode with the ±30-day series around it.
Plan gates it can hit: Enterprise (Episode detail) for episodes outside the worked example
Parameters
| Name | Type | Required |
|---|---|---|
| episode_id | string | yes |
search_companies
Find listed companies by name; returns their ids.
Plan gates it can hit: none — answers on every plan
Parameters
| Name | Type | Required |
|---|---|---|
| query | string | yes |
| limit | integer | no |
company_footprint
The districts a company’s infrastructure sits in, by country, with the series on request.
Plan gates it can hit: Pro (District-level detail) for a company outside the five worked examples; Enterprise (Full history) when include_series is set
Parameters
| Name | Type | Required |
|---|---|---|
| bvd | string | yes |
| country_iso2 | string | no |
| include_series | boolean | no |
company_exposure
The anomaly episodes in districts where a company’s ranges sit.
Plan gates it can hit: Pro (District-level detail) for a company outside the five worked examples; Enterprise (Full history) for a since date before the dashboard’s window
Parameters
| Name | Type | Required |
|---|---|---|
| bvd | string | yes |
| country_iso2 | string | no |
| since | string | no |
compare_companies
Two companies side by side: footprint, countries and episodes.
Plan gates it can hit: Enterprise (Company compare) for any pair other than the worked compare
Parameters
| Name | Type | Required |
|---|---|---|
| bvd_a | string | yes |
| bvd_b | string | yes |
Limits
Keys are rate-limited per minute and per day, and a key that touches many distinct places in an hour is slowed; the server tells you which limit you hit.
Rows per result are capped by plan (above). Results are a snapshot of the dashboard’s committed data at the vintage each result names; the Enterprise weekly drop refreshes it.
Errors
- invalid_request — A parameter is missing, of the wrong type, or unknown.
- unauthorized — No key, or a revoked one.
- plan_required — The tool or the detail asked for needs a higher plan; the message names it.
- not_found — The place, episode or company id does not exist.
- data_unavailable — The dataset behind the tool is not on the server right now.
- rate_limited — Too many calls in a minute or a day for the key, or too many distinct places in an hour; the message says which, and when to try again.
- area_limit_reached — The key has touched its daily allowance of distinct places.
- licence_suspended — The key is suspended; write to info@kasprdata.com.
- backend_unavailable — The server could not reach the dashboard; try again shortly.
Privacy
Every call is recorded with the key id, the tool, its parameters, the row count, the status and a request id, and kept for thirteen months, so usage can be metered, a leaked extract traced to its key, and abuse investigated. Results carry a licence line; see the terms.
Terms
The strict rules, in brief. The binding text is on the terms page, which installing or calling the server accepts.
- — Internal use only: no redistribution of the data or results, no resale, no publication of row-level results.
- — No storage beyond 30 days, and no use of the data to train models.
- — No reliance for decisions that could harm people or property; the measurement is a snapshot, not monitoring.
- — No warranty of accuracy, availability or fitness; liability is limited as the terms set out.
- — Keys are personal to the licensee and may be suspended for breach.
Timing and scheduling servers
The timing and scheduling servers, which plan calls and posts on KASPR’s typical week, are documented on KASPR Schedule’s site.
Changelog
2026-10-06 — switched on at mcp.kasprdata.com/data/mcp; 13 tools (regional core, alerts and anomaly episodes, company footprint) and two resources (coverage, terms), plan-gated as on pulse.kasprdata.com. Disaster-event tools withheld pending licence review.
