StackData MCP
Provides Model Context Protocol tools to access over 59,000 public statistical datasets from global sources like NBS, Eurostat, and World Bank. Supports search, catalog export, tariff lookup, and resolving questions into structured tables with legal citations.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.stackdata.io/mcpWhat its tools do
6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to stackdata.io ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Search for statistical data in any language
- Lookup customs tariffs with legal citations
- Resolve natural language questions into data tables
- Export full statistical catalogs
Source and maintenance
Protocol and capabilities
- Server
- stackdata 0.1
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 6 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
6 advertised
search_datasets
Search StackData's catalog of 50k+ official statistical datasets (SDMX/World Bank dataflows, China censuses and yearbooks, tariff schedules). Multilingual: an English query finds Chinese-titled tables. Returns dataset ids usable with the other tools.
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "search query"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
}
}
}get_table
Fetch a STORED table whole, by dataset id (families cn-nbs-census and cn-nbs-yearbook): labelled rows × columns with original-language labels, English overlay, units, and provenance down to the source file. Ids look like 'cn-nbs-census:2010_a0101a'.
{
"type": "object",
"required": [
"dataset_id"
],
"properties": {
"dataset_id": {
"type": "string",
"description": "catalog dataset id"
}
}
}tariff_lookup
As-of customs-tariff lookup: which measures/duty rates apply to a goods code in a jurisdiction (eu, us, uk, jp), optionally from an origin, on a date. Duty expressions are verbatim; every measure carries its legal citation. Not legal advice.
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "goods code, 2-10 digits (HS/TARIC/HTS)"
},
"date": {
"type": "string",
"description": "as-of date YYYY-MM-DD, default today"
},
"origin": {
"type": "string",
"description": "ISO2 origin country (eu/uk only)"
},
"direction": {
"enum": [
"import",
"export"
],
"type": "string",
"default": "import"
},
"jurisdiction": {
"enum": [
"eu",
"us",
"uk",
"jp"
],
"type": "string",
"default": "eu"
}
}
}resolve_data
Ask a data question in English ('unemployment rate in Japan', 'compare GDP in Japan and Germany') — resolves to the best covering dataset and returns the observations, with coverage honesty (missing countries are reported, never papered over).
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "the question"
},
"end": {
"type": "integer",
"description": "end year"
},
"start": {
"type": "integer",
"description": "start year"
}
}
}get_structure
The published structure of one dataset, free: its dimensions with every member code and label, frequencies, period coverage, the ISO3 countries it serves, and whether it is servable. Call this before get_series to learn the codes to send. Dataset ids come from search_datasets.
{
"type": "object",
"required": [
"dataset"
],
"properties": {
"dataset": {
"type": "string",
"description": "catalog dataset id, e.g. 'ilo-sdmx:DF_X'"
}
}
}get_series
Fetch ONE series with every dimension named by you (no guessing or relaxing): dataset, ISO3 countries, an ISO period range and a member code for every dimension from get_structure. Returns status ok/empty/refused with each value's provenance, and the missing country-periods listed. A bad request is a named 400 error saying which field and what is allowed.
{
"type": "object",
"required": [
"dataset",
"countries",
"period",
"select"
],
"properties": {
"period": {
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"pattern": "^\\d{4}(-Q[1-4]|-(0[1-9]|1[0-2]))?$",
"description": "Last period, same form and frequency as start."
},
"start": {
"type": "string",
"pattern": "^\\d{4}(-Q[1-4]|-(0[1-9]|1[0-2]))?$",
"description": "First period, ISO form: YYYY, YYYY-Qn or YYYY-MM. Must match a frequency the dataset serves."
}
},
"description": "Inclusive ISO period range. \"latest\" is not accepted: name the periods you want. Annual 2020, quarterly 2020-Q1, monthly 2020-01.",
"additionalProperties": false
},
"select": {
"type": "object",
"description": "A member code for every dimension of the dataset (other than geography and time) as listed in /structure, including frequency. Every dimension must be named; a missing or unknown dimension or code is a 400, never defaulted.",
"additionalProperties": {
"type": "string"
}
},
"dataset": {
"type": "string",
"description": "A dataset id from the catalog, as returned by search (/v1/search, or the search_datasets MCP tool), e.g. \"ilo-sdmx:DF_X\"."
},
"countries": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 25,
"minItems": 1,
"description": "ISO 3166-1 alpha-3 codes (e.g. \"JPN\") or an aggregate code listed in the dataset's /structure. 1 to 25 entries."
}
},
"additionalProperties": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 2 of 2 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 273 ms
- 95th percentile latency
- 273 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 273 ms · metadata changed · 6 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http stackdata-mcp https://api.stackdata.io/mcpCodex
codex mcp add stackdata-mcp --url https://api.stackdata.io/mcpCursor
{
"mcpServers": {
"stackdata-mcp": {
"url": "https://api.stackdata.io/mcp"
}
}
}Cline
{
"mcpServers": {
"stackdata-mcp": {
"type": "streamableHttp",
"url": "https://api.stackdata.io/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"stackdata-mcp": {
"type": "http",
"url": "https://api.stackdata.io/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http stackdata-mcp https://api.stackdata.io/mcpClaude Desktop
https://api.stackdata.io/mcpWindsurf
{
"mcpServers": {
"stackdata-mcp": {
"serverUrl": "https://api.stackdata.io/mcp"
}
}
}Let your agent find its tools
Find servers like StackData MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run StackData MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.