eurostat-mcp-server
Search and query the Eurostat catalogue — EU economy, demography, trade, and NUTS regional data.
What this server provides
Search and query the Eurostat catalogue — EU economy, demography, trade, and NUTS regional data.
Remote endpoints
https://eurostat.caseyjhand.com/mcpPackages
npxTransport stdio- EUROSTAT_CLAMP_LIMITSOptional
Clamp positive integer preview/search/dimension limits to 500/100/1000 with a notice. False restores schemas rejecting over-cap inputs.
Format: boolean · Default: true - MCP_LOG_LEVELOptional
Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').
Format: string · Default: info - EUROSTAT_BASE_URLOptional
Eurostat API base URL. Override when using a mirror or proxy.
Format: string · Default: https://ec.europa.eu/eurostat/api/dissemination - EUROSTAT_COMEXT_BASE_URLOptional
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 · Default: https://ec.europa.eu/eurostat/api/comext/dissemination - EUROSTAT_REQUEST_TIMEOUT_MSOptional
Total allowance for one Eurostat request across retries, backoff and body consumption, in milliseconds.
Format: string · Default: 30000 - EUROSTAT_METADATA_TIMEOUT_MSOptional
Total allowance for one dataset's SDMX dataflow structure across retries, backoff and body consumption, in milliseconds. Defaults to 120000; separate from EUROSTAT_REQUEST_TIMEOUT_MS for large structures.
Format: string · Default: 120000 - EUROSTAT_TOC_CACHE_TTL_MSOptional
How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours.
Format: string · Default: 43200000 - EUROSTAT_BULK_TIMEOUT_MSOptional
Total allowance for one eurostat_download_dataset transfer across request retries, backoff and streaming body consumption, in milliseconds. Defaults to 120000.
Format: string · Default: 120000 - EUROSTAT_BULK_MAX_BYTESOptional
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 · Default: 52428800 - CANVAS_PROVIDER_TYPEOptional
Dataframe canvas backend. The default, 'duckdb', lists eurostat_dataframe_describe and eurostat_dataframe_query, stages query matches with stage=true or above 5,000 observations, and retains bulk downloads beyond their previews. Set to 'none' to disable the canvas and those tools. The DuckDB binding ships with the server.
Format: string · Default: duckdb - CANVAS_TEMP_PATHOptional
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 - CANVAS_TTL_MSOptional
Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours.
Format: string · Default: 86400000 - CANVAS_DEFAULT_ROW_LIMITOptional
Maximum complete rows a single eurostat_dataframe_query returns before reporting truncated.
Format: string · Default: 10000 - EUROSTAT_DATAFRAME_DROP_ENABLEDOptional
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. Has no effect with CANVAS_PROVIDER_TYPE=none.
Format: boolean · Default: false
npxTransport streamable-httphttp://localhost:3010/mcp- EUROSTAT_CLAMP_LIMITSOptional
Clamp positive integer preview/search/dimension limits to 500/100/1000 with a notice. False restores schemas rejecting over-cap inputs.
Format: boolean · Default: true - MCP_HTTP_HOSTOptional
The hostname for the HTTP server.
Format: string · Default: 127.0.0.1 - MCP_HTTP_PORTOptional
The port to run the HTTP server on.
Format: string · Default: 3010 - MCP_HTTP_ENDPOINT_PATHOptional
The endpoint path for the MCP server.
Format: string · Default: /mcp - MCP_PUBLIC_URLOptional
Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com).
Format: string - MCP_AUTH_MODEOptional
Authentication mode to use: 'none', 'jwt', or 'oauth'.
Format: string · Default: none - MCP_LOG_LEVELOptional
Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').
Format: string · Default: info - EUROSTAT_BASE_URLOptional
Eurostat API base URL. Override when using a mirror or proxy.
Format: string · Default: https://ec.europa.eu/eurostat/api/dissemination - EUROSTAT_COMEXT_BASE_URLOptional
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 · Default: https://ec.europa.eu/eurostat/api/comext/dissemination - EUROSTAT_REQUEST_TIMEOUT_MSOptional
Total allowance for one Eurostat request across retries, backoff and body consumption, in milliseconds.
Format: string · Default: 30000 - EUROSTAT_METADATA_TIMEOUT_MSOptional
Total allowance for one dataset's SDMX dataflow structure across retries, backoff and body consumption, in milliseconds. Defaults to 120000; separate from EUROSTAT_REQUEST_TIMEOUT_MS for large structures.
Format: string · Default: 120000 - EUROSTAT_TOC_CACHE_TTL_MSOptional
How long a fetched catalogue TOC stays usable before the next catalogue call refreshes it, in milliseconds. Defaults to 12 hours.
Format: string · Default: 43200000 - EUROSTAT_BULK_TIMEOUT_MSOptional
Total allowance for one eurostat_download_dataset transfer across request retries, backoff and streaming body consumption, in milliseconds. Defaults to 120000.
Format: string · Default: 120000 - EUROSTAT_BULK_MAX_BYTESOptional
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 · Default: 52428800 - CANVAS_PROVIDER_TYPEOptional
Dataframe canvas backend. The default, 'duckdb', lists eurostat_dataframe_describe and eurostat_dataframe_query, stages query matches with stage=true or above 5,000 observations, and retains bulk downloads beyond their previews. Set to 'none' to disable the canvas and those tools. The DuckDB binding ships with the server.
Format: string · Default: duckdb - CANVAS_TEMP_PATHOptional
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 - CANVAS_TTL_MSOptional
Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours.
Format: string · Default: 86400000 - CANVAS_DEFAULT_ROW_LIMITOptional
Maximum complete rows a single eurostat_dataframe_query returns before reporting truncated.
Format: string · Default: 10000 - EUROSTAT_DATAFRAME_DROP_ENABLEDOptional
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. Has no effect with CANVAS_PROVIDER_TYPE=none.
Format: boolean · Default: false