---
bezeichner: "io.github.cyanheads/eurostat-mcp-server"
art: "mcp_server"
slug: "io-github-cyanheads-eurostat-mcp-server"
paketkoordinate: "npm:@cyanheads/eurostat-mcp-server"
status: "aktiv"
homepage: "https://github.com/cyanheads/eurostat-mcp-server"
erhebungsstand: "2026-10-10T01:17:01.464Z"
namensraum: "io.github.cyanheads"
registerseite: "https://tracevero.com/mcp/io-github-cyanheads-eurostat-mcp-server"
abgerufen_am: "2026-10-10"
zugangsdaten_erforderlich: false
ausfuehrungsort: "lokal"
dateisystem_pfadargument: false
quelloffen_einsehbar: true
roh_beschreibung: "Search and query the Eurostat catalogue — EU economy, demography, trade, and NUTS regional data."
version: "0.9.0"
roh_umgebungsvariablen: "MCP_LOG_LEVEL, EUROSTAT_BASE_URL, EUROSTAT_COMEXT_BASE_URL, EUROSTAT_REQUEST_TIMEOUT_MS, EUROSTAT_METADATA_TIMEOUT_MS, EUROSTAT_TOC_CACHE_TTL_MS, EUROSTAT_BULK_TIMEOUT_MS, EUROSTAT_BULK_MAX_BYTES, CANVAS_PROVIDER_TYPE, CANVAS_TEMP_PATH, CANVAS_TTL_MS, CANVAS_DEFAULT_ROW_LIMIT, EUROSTAT_DATAFRAME_DROP_ENABLED, MCP_TRANSPORT_TYPE, MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_ENDPOINT_PATH, MCP_PUBLIC_URL, MCP_AUTH_MODE, MCP_LOG_LEVEL, EUROSTAT_BASE_URL, EUROSTAT_COMEXT_BASE_URL, EUROSTAT_REQUEST_TIMEOUT_MS, EUROSTAT_METADATA_TIMEOUT_MS, EUROSTAT_TOC_CACHE_TTL_MS, EUROSTAT_BULK_TIMEOUT_MS, EUROSTAT_BULK_MAX_BYTES, CANVAS_PROVIDER_TYPE, CANVAS_TEMP_PATH, CANVAS_TTL_MS, CANVAS_DEFAULT_ROW_LIMIT, EUROSTAT_DATAFRAME_DROP_ENABLED"
roh_geheime_pflichtvariablen: ""
roh_transportarten: "stdio, streamable-http, streamable-http"
roh_pfadargumente: ""
roh_repository_url: "https://github.com/cyanheads/eurostat-mcp-server"
roh_paketquellen: "npm, npm"
roh_geheime_pflichtkopfzeilen: ""
roh_pfad_umgebungsvariablen: ""
roh_remote_adressen: "https://eurostat.caseyjhand.com/mcp"
roh_remote_hosts: "eurostat.caseyjhand.com"
roh_statusmeldung: ""
roh_veroeffentlicht_am: "2026-10-04"
roh_aktualisiert_am: "2026-10-04"
roh_schemafassung: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"
roh_bereitstellungsform: "paket und remote"
roh_repository_quelle: "github"
roh_repository_unterordner: ""
roh_paketbezeichner: "@cyanheads/eurostat-mcp-server"
roh_paketversionen: "0.9.0"
roh_laufzeithinweise: "npx"
roh_umgebungsformate: "boolean, string"
roh_umgebungsbeschreibungen: "CANVAS_DEFAULT_ROW_LIMIT=Maximum rows a single eurostat_dataframe_query returns before the result is reported as truncated. · CANVAS_PROVIDER_TYPE=Set to 'duckdb' to enable the dataframe canvas, which lists the eurostat_dataframe_describe and eurostat_dataframe_query tools, lets eurostat_query_dataset stage a match larger than its 5,000-row inline cap as a SQL table, and lets eurostat_download_dataset retain a whole bulk download instead of only its inline preview. The DuckDB binding ships with the server, so this variable is the only switch. · CANVAS_TEMP_PATH=Parent directory for DuckDB canvas spill files: a private 'mcp-canvas-XXXXXX' directory is created inside it, so it must be writable by the server process. Defaults to the OS temp directory. · CANVAS_TTL_MS=Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours. · EUROSTAT_BASE_URL=Eurostat API base URL. Override when using a mirror or proxy. · EUROSTAT_BULK_MAX_BYTES=Byte budget for one eurostat_download_dataset transfer, counted on the decoded TSV rather than on the wire. Eurostat sends the body chunked with no Content-Length, so the budget is enforced while streaming and the transfer is aborted when it is reached. Defaults to 50 MiB. · EUROSTAT_BULK_TIMEOUT_MS=HTTP timeout for one eurostat_download_dataset transfer, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because a bulk body streams for minutes where a metadata call answers in seconds. Defaults to 2 minutes. · EUROSTAT_COMEXT_BASE_URL=Base URL of the Comext dissemination host, which serves every DS-* dataset code (detailed trade and PRODCOM). Override when using a mirror or proxy. · EUROSTAT_DATAFRAME_DROP_ENABLED=Set to 'true' to list eurostat_dataframe_drop, which removes one staged table from a dataframe canvas and leaves its other tables in place. Off by default because a drop cannot be undone; staged tables expire with their canvas either way. Takes effect only with CANVAS_PROVIDER_TYPE=duckdb. · EUROSTAT_METADATA_TIMEOUT_MS=HTTP timeout for one dataset's SDMX dataflow structure, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because the structure carries a label for every code the dataset uses: 23 MB, uncompressed, for DS-045409. Defaults to 2 minutes. · EUROSTAT_REQUEST_TIMEOUT_MS=HTTP request timeout in milliseconds for Eurostat API calls. · EUROSTAT_TOC_CACHE_TTL_MS=How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours. · MCP_AUTH_MODE=Authentication mode to use: 'none', 'jwt', or 'oauth'. · MCP_HTTP_ENDPOINT_PATH=The endpoint path for the MCP server. · MCP_HTTP_HOST=The hostname for the HTTP server. · MCP_HTTP_PORT=The port to run the HTTP server on. · MCP_LOG_LEVEL=Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). · MCP_PUBLIC_URL=Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com). · MCP_TRANSPORT_TYPE=Selects the HTTP transport."
roh_symbolformate: ""
roh_verbindungswege: "{\"packages\":[{\"registryType\":\"npm\",\"identifier\":\"@cyanheads/eurostat-mcp-server\",\"version\":\"0.9.0\",\"runtimeHint\":\"npx\",\"transport\":\"stdio\",\"environment\":[{\"name\":\"MCP_LOG_LEVEL\",\"description\":\"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_BASE_URL\",\"description\":\"Eurostat API base URL. Override when using a mirror or proxy.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_COMEXT_BASE_URL\",\"description\":\"Base URL of the Comext dissemination host, which serves every DS-* dataset code (detailed trade and PRODCOM). Override when using a mirror or proxy.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_REQUEST_TIMEOUT_MS\",\"description\":\"HTTP request timeout in milliseconds for Eurostat API calls.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_METADATA_TIMEOUT_MS\",\"description\":\"HTTP timeout for one dataset's SDMX dataflow structure, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because the structure carries a label for every code the dataset uses: 23 MB, uncompressed, for DS-045409. Defaults to 2 minutes.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_TOC_CACHE_TTL_MS\",\"description\":\"How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_BULK_TIMEOUT_MS\",\"description\":\"HTTP timeout for one eurostat_download_dataset transfer, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because a bulk body streams for minutes where a metadata call answers in seconds. Defaults to 2 minutes.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_BULK_MAX_BYTES\",\"description\":\"Byte budget for one eurostat_download_dataset transfer, counted on the decoded TSV rather than on the wire. Eurostat sends the body chunked with no Content-Length, so the budget is enforced while streaming and the transfer is aborted when it is reached. Defaults to 50 MiB.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"CANVAS_PROVIDER_TYPE\",\"description\":\"Set to 'duckdb' to enable the dataframe canvas, which lists the eurostat_dataframe_describe and eurostat_dataframe_query tools, lets eurostat_query_dataset stage a match larger than its 5,000-row inline cap as a SQL table, and lets eurostat_download_dataset retain a whole bulk download instead of only its inline preview. The DuckDB binding ships with the server, so this variable is the only switch.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"CANVAS_TEMP_PATH\",\"description\":\"Parent directory for DuckDB canvas spill files: a private 'mcp-canvas-XXXXXX' directory is created inside it, so it must be writable by the server process. Defaults to the OS temp directory.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"CANVAS_TTL_MS\",\"description\":\"Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"CANVAS_DEFAULT_ROW_LIMIT\",\"description\":\"Maximum rows a single eurostat_dataframe_query returns before the result is reported as truncated.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_DATAFRAME_DROP_ENABLED\",\"description\":\"Set to 'true' to list eurostat_dataframe_drop, which removes one staged table from a dataframe canvas and leaves its other tables in place. Off by default because a drop cannot be undone; staged tables expire with their canvas either way. Takes effect only with CANVAS_PROVIDER_TYPE=duckdb.\",\"format\":\"boolean\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false},{\"registryType\":\"npm\",\"identifier\":\"@cyanheads/eurostat-mcp-server\",\"version\":\"0.9.0\",\"runtimeHint\":\"npx\",\"transport\":\"streamable-http\",\"environment\":[{\"name\":\"MCP_TRANSPORT_TYPE\",\"description\":\"Selects the HTTP transport.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_HOST\",\"description\":\"The hostname for the HTTP server.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_PORT\",\"description\":\"The port to run the HTTP server on.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_HTTP_ENDPOINT_PATH\",\"description\":\"The endpoint path for the MCP server.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_PUBLIC_URL\",\"description\":\"Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com).\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_AUTH_MODE\",\"description\":\"Authentication mode to use: 'none', 'jwt', or 'oauth'.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"MCP_LOG_LEVEL\",\"description\":\"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_BASE_URL\",\"description\":\"Eurostat API base URL. Override when using a mirror or proxy.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_COMEXT_BASE_URL\",\"description\":\"Base URL of the Comext dissemination host, which serves every DS-* dataset code (detailed trade and PRODCOM). Override when using a mirror or proxy.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_REQUEST_TIMEOUT_MS\",\"description\":\"HTTP request timeout in milliseconds for Eurostat API calls.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_METADATA_TIMEOUT_MS\",\"description\":\"HTTP timeout for one dataset's SDMX dataflow structure, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because the structure carries a label for every code the dataset uses: 23 MB, uncompressed, for DS-045409. Defaults to 2 minutes.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_TOC_CACHE_TTL_MS\",\"description\":\"How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_BULK_TIMEOUT_MS\",\"description\":\"HTTP timeout for one eurostat_download_dataset transfer, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because a bulk body streams for minutes where a metadata call answers in seconds. Defaults to 2 minutes.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_BULK_MAX_BYTES\",\"description\":\"Byte budget for one eurostat_download_dataset transfer, counted on the decoded TSV rather than on the wire. Eurostat sends the body chunked with no Content-Length, so the budget is enforced while streaming and the transfer is aborted when it is reached. Defaults to 50 MiB.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"CANVAS_PROVIDER_TYPE\",\"description\":\"Set to 'duckdb' to enable the dataframe canvas, which lists the eurostat_dataframe_describe and eurostat_dataframe_query tools, lets eurostat_query_dataset stage a match larger than its 5,000-row inline cap as a SQL table, and lets eurostat_download_dataset retain a whole bulk download instead of only its inline preview. The DuckDB binding ships with the server, so this variable is the only switch.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"CANVAS_TEMP_PATH\",\"description\":\"Parent directory for DuckDB canvas spill files: a private 'mcp-canvas-XXXXXX' directory is created inside it, so it must be writable by the server process. Defaults to the OS temp directory.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"CANVAS_TTL_MS\",\"description\":\"Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"CANVAS_DEFAULT_ROW_LIMIT\",\"description\":\"Maximum rows a single eurostat_dataframe_query returns before the result is reported as truncated.\",\"format\":\"string\",\"required\":false,\"secret\":false},{\"name\":\"EUROSTAT_DATAFRAME_DROP_ENABLED\",\"description\":\"Set to 'true' to list eurostat_dataframe_drop, which removes one staged table from a dataframe canvas and leaves its other tables in place. Off by default because a drop cannot be undone; staged tables expire with their canvas either way. Takes effect only with CANVAS_PROVIDER_TYPE=duckdb.\",\"format\":\"boolean\",\"required\":false,\"secret\":false}],\"additional_arguments_declared\":false}],\"remotes\":[{\"url\":\"https://eurostat.caseyjhand.com/mcp\",\"transport\":\"streamable-http\",\"headers\":[]}]}"
---

# io.github.cyanheads/eurostat-mcp-server

## Measured values

| Property | Value | Source | Collected on | Level of trust | Raw declaration |
| --- | --- | --- | --- | --- | --- |
| Required secrets declared | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_geheime_pflichtvariablen: ; roh_geheime_pflichtkopfzeilen: |
| Execution location | lokal | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_transportarten: stdio, streamable-http, streamable-http |
| Path argument present | false | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_pfadargumente: ; roh_pfad_umgebungsvariablen: |
| Repository URL listed | true | MCP-Register | 2026-08-06T13:57:41.838Z | abgeleitet | roh_repository_url: https://github.com/cyanheads/eurostat-mcp-server |
| Description (raw) | Search and query the Eurostat catalogue — EU economy, demography, trade, and NUTS regional data. | MCP-Register | 2026-08-26T16:45:01.514Z | selbstauskunft |  |
| Declared version | 0.9.0 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Environment variables (raw) | MCP_LOG_LEVEL, EUROSTAT_BASE_URL, EUROSTAT_COMEXT_BASE_URL, EUROSTAT_REQUEST_TIMEOUT_MS, EUROSTAT_METADATA_TIMEOUT_MS, EUROSTAT_TOC_CACHE_TTL_MS, EUROSTAT_BULK_TIMEOUT_MS, EUROSTAT_BULK_MAX_BYTES, CANVAS_PROVIDER_TYPE, CANVAS_TEMP_PATH, CANVAS_TTL_MS, CANVAS_DEFAULT_ROW_LIMIT, EUROSTAT_DATAFRAME_DROP_ENABLED, MCP_TRANSPORT_TYPE, MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_ENDPOINT_PATH, MCP_PUBLIC_URL, MCP_AUTH_MODE, MCP_LOG_LEVEL, EUROSTAT_BASE_URL, EUROSTAT_COMEXT_BASE_URL, EUROSTAT_REQUEST_TIMEOUT_MS, EUROSTAT_METADATA_TIMEOUT_MS, EUROSTAT_TOC_CACHE_TTL_MS, EUROSTAT_BULK_TIMEOUT_MS, EUROSTAT_BULK_MAX_BYTES, CANVAS_PROVIDER_TYPE, CANVAS_TEMP_PATH, CANVAS_TTL_MS, CANVAS_DEFAULT_ROW_LIMIT, EUROSTAT_DATAFRAME_DROP_ENABLED | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Required secret variables (raw) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Transports (raw) | stdio, streamable-http, streamable-http | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Path arguments (raw) |  | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Repository (raw) | https://github.com/cyanheads/eurostat-mcp-server | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Package registries (raw) | npm, npm | MCP-Register | 2026-08-06T13:57:41.838Z | selbstauskunft |  |
| Required secret headers (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Path environment variables (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote URLs (raw) | https://eurostat.caseyjhand.com/mcp | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Remote hosts (raw) | eurostat.caseyjhand.com | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Registry status message (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| First listed in the registry (raw) | 2026-10-04 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Last changed in the registry (raw) | 2026-10-04 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Delivery form (raw) | paket und remote | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository platform (raw) | github | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Repository subfolder (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Package identifiers (raw) | @cyanheads/eurostat-mcp-server | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Package versions (raw) | 0.9.0 | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Runtime hints (raw) | npx | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Environment variable formats (raw) | boolean, string | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Environment variable descriptions (raw) | CANVAS_DEFAULT_ROW_LIMIT=Maximum rows a single eurostat_dataframe_query returns before the result is reported as truncated. · CANVAS_PROVIDER_TYPE=Set to 'duckdb' to enable the dataframe canvas, which lists the eurostat_dataframe_describe and eurostat_dataframe_query tools, lets eurostat_query_dataset stage a match larger than its 5,000-row inline cap as a SQL table, and lets eurostat_download_dataset retain a whole bulk download instead of only its inline preview. The DuckDB binding ships with the server, so this variable is the only switch. · CANVAS_TEMP_PATH=Parent directory for DuckDB canvas spill files: a private 'mcp-canvas-XXXXXX' directory is created inside it, so it must be writable by the server process. Defaults to the OS temp directory. · CANVAS_TTL_MS=Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours. · EUROSTAT_BASE_URL=Eurostat API base URL. Override when using a mirror or proxy. · EUROSTAT_BULK_MAX_BYTES=Byte budget for one eurostat_download_dataset transfer, counted on the decoded TSV rather than on the wire. Eurostat sends the body chunked with no Content-Length, so the budget is enforced while streaming and the transfer is aborted when it is reached. Defaults to 50 MiB. · EUROSTAT_BULK_TIMEOUT_MS=HTTP timeout for one eurostat_download_dataset transfer, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because a bulk body streams for minutes where a metadata call answers in seconds. Defaults to 2 minutes. · EUROSTAT_COMEXT_BASE_URL=Base URL of the Comext dissemination host, which serves every DS-* dataset code (detailed trade and PRODCOM). Override when using a mirror or proxy. · EUROSTAT_DATAFRAME_DROP_ENABLED=Set to 'true' to list eurostat_dataframe_drop, which removes one staged table from a dataframe canvas and leaves its other tables in place. Off by default because a drop cannot be undone; staged tables expire with their canvas either way. Takes effect only with CANVAS_PROVIDER_TYPE=duckdb. · EUROSTAT_METADATA_TIMEOUT_MS=HTTP timeout for one dataset's SDMX dataflow structure, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because the structure carries a label for every code the dataset uses: 23 MB, uncompressed, for DS-045409. Defaults to 2 minutes. · EUROSTAT_REQUEST_TIMEOUT_MS=HTTP request timeout in milliseconds for Eurostat API calls. · EUROSTAT_TOC_CACHE_TTL_MS=How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours. · MCP_AUTH_MODE=Authentication mode to use: 'none', 'jwt', or 'oauth'. · MCP_HTTP_ENDPOINT_PATH=The endpoint path for the MCP server. · MCP_HTTP_HOST=The hostname for the HTTP server. · MCP_HTTP_PORT=The port to run the HTTP server on. · MCP_LOG_LEVEL=Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). · MCP_PUBLIC_URL=Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com). · MCP_TRANSPORT_TYPE=Selects the HTTP transport. | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |
| Icon formats (raw) |  | MCP-Register | 2026-08-16T01:17:01.420Z | selbstauskunft |  |
| Connection paths (source structure) | {"packages":[{"registryType":"npm","identifier":"@cyanheads/eurostat-mcp-server","version":"0.9.0","runtimeHint":"npx","transport":"stdio","environment":[{"name":"MCP_LOG_LEVEL","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","required":false,"secret":false},{"name":"EUROSTAT_BASE_URL","description":"Eurostat API base URL. Override when using a mirror or proxy.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_COMEXT_BASE_URL","description":"Base URL of the Comext dissemination host, which serves every DS-* dataset code (detailed trade and PRODCOM). Override when using a mirror or proxy.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_REQUEST_TIMEOUT_MS","description":"HTTP request timeout in milliseconds for Eurostat API calls.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_METADATA_TIMEOUT_MS","description":"HTTP timeout for one dataset's SDMX dataflow structure, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because the structure carries a label for every code the dataset uses: 23 MB, uncompressed, for DS-045409. Defaults to 2 minutes.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_TOC_CACHE_TTL_MS","description":"How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_BULK_TIMEOUT_MS","description":"HTTP timeout for one eurostat_download_dataset transfer, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because a bulk body streams for minutes where a metadata call answers in seconds. Defaults to 2 minutes.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_BULK_MAX_BYTES","description":"Byte budget for one eurostat_download_dataset transfer, counted on the decoded TSV rather than on the wire. Eurostat sends the body chunked with no Content-Length, so the budget is enforced while streaming and the transfer is aborted when it is reached. Defaults to 50 MiB.","format":"string","required":false,"secret":false},{"name":"CANVAS_PROVIDER_TYPE","description":"Set to 'duckdb' to enable the dataframe canvas, which lists the eurostat_dataframe_describe and eurostat_dataframe_query tools, lets eurostat_query_dataset stage a match larger than its 5,000-row inline cap as a SQL table, and lets eurostat_download_dataset retain a whole bulk download instead of only its inline preview. The DuckDB binding ships with the server, so this variable is the only switch.","format":"string","required":false,"secret":false},{"name":"CANVAS_TEMP_PATH","description":"Parent directory for DuckDB canvas spill files: a private 'mcp-canvas-XXXXXX' directory is created inside it, so it must be writable by the server process. Defaults to the OS temp directory.","format":"string","required":false,"secret":false},{"name":"CANVAS_TTL_MS","description":"Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours.","format":"string","required":false,"secret":false},{"name":"CANVAS_DEFAULT_ROW_LIMIT","description":"Maximum rows a single eurostat_dataframe_query returns before the result is reported as truncated.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_DATAFRAME_DROP_ENABLED","description":"Set to 'true' to list eurostat_dataframe_drop, which removes one staged table from a dataframe canvas and leaves its other tables in place. Off by default because a drop cannot be undone; staged tables expire with their canvas either way. Takes effect only with CANVAS_PROVIDER_TYPE=duckdb.","format":"boolean","required":false,"secret":false}],"additional_arguments_declared":false},{"registryType":"npm","identifier":"@cyanheads/eurostat-mcp-server","version":"0.9.0","runtimeHint":"npx","transport":"streamable-http","environment":[{"name":"MCP_TRANSPORT_TYPE","description":"Selects the HTTP transport.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_HOST","description":"The hostname for the HTTP server.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_PORT","description":"The port to run the HTTP server on.","format":"string","required":false,"secret":false},{"name":"MCP_HTTP_ENDPOINT_PATH","description":"The endpoint path for the MCP server.","format":"string","required":false,"secret":false},{"name":"MCP_PUBLIC_URL","description":"Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com).","format":"string","required":false,"secret":false},{"name":"MCP_AUTH_MODE","description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","required":false,"secret":false},{"name":"MCP_LOG_LEVEL","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","required":false,"secret":false},{"name":"EUROSTAT_BASE_URL","description":"Eurostat API base URL. Override when using a mirror or proxy.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_COMEXT_BASE_URL","description":"Base URL of the Comext dissemination host, which serves every DS-* dataset code (detailed trade and PRODCOM). Override when using a mirror or proxy.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_REQUEST_TIMEOUT_MS","description":"HTTP request timeout in milliseconds for Eurostat API calls.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_METADATA_TIMEOUT_MS","description":"HTTP timeout for one dataset's SDMX dataflow structure, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because the structure carries a label for every code the dataset uses: 23 MB, uncompressed, for DS-045409. Defaults to 2 minutes.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_TOC_CACHE_TTL_MS","description":"How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_BULK_TIMEOUT_MS","description":"HTTP timeout for one eurostat_download_dataset transfer, in milliseconds. Held separate from EUROSTAT_REQUEST_TIMEOUT_MS because a bulk body streams for minutes where a metadata call answers in seconds. Defaults to 2 minutes.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_BULK_MAX_BYTES","description":"Byte budget for one eurostat_download_dataset transfer, counted on the decoded TSV rather than on the wire. Eurostat sends the body chunked with no Content-Length, so the budget is enforced while streaming and the transfer is aborted when it is reached. Defaults to 50 MiB.","format":"string","required":false,"secret":false},{"name":"CANVAS_PROVIDER_TYPE","description":"Set to 'duckdb' to enable the dataframe canvas, which lists the eurostat_dataframe_describe and eurostat_dataframe_query tools, lets eurostat_query_dataset stage a match larger than its 5,000-row inline cap as a SQL table, and lets eurostat_download_dataset retain a whole bulk download instead of only its inline preview. The DuckDB binding ships with the server, so this variable is the only switch.","format":"string","required":false,"secret":false},{"name":"CANVAS_TEMP_PATH","description":"Parent directory for DuckDB canvas spill files: a private 'mcp-canvas-XXXXXX' directory is created inside it, so it must be writable by the server process. Defaults to the OS temp directory.","format":"string","required":false,"secret":false},{"name":"CANVAS_TTL_MS","description":"Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours.","format":"string","required":false,"secret":false},{"name":"CANVAS_DEFAULT_ROW_LIMIT","description":"Maximum rows a single eurostat_dataframe_query returns before the result is reported as truncated.","format":"string","required":false,"secret":false},{"name":"EUROSTAT_DATAFRAME_DROP_ENABLED","description":"Set to 'true' to list eurostat_dataframe_drop, which removes one staged table from a dataframe canvas and leaves its other tables in place. Off by default because a drop cannot be undone; staged tables expire with their canvas either way. Takes effect only with CANVAS_PROVIDER_TYPE=duckdb.","format":"boolean","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[{"url":"https://eurostat.caseyjhand.com/mcp","transport":"streamable-http","headers":[]}]} | MCP-Register | 2026-10-05T01:17:01.523Z | selbstauskunft |  |

## Links

- Namespace: [[namensraum/io-github-cyanheads|io.github.cyanheads]]

---

- Registry page: <https://tracevero.com/mcp/io-github-cyanheads-eurostat-mcp-server>
- Retrieved on: 2026-10-10
