{"name":"io.github.cyanheads/eurostat-mcp-server","slug":"cyanheads-eurostat-mcp-server","title":null,"description":"Search and query the Eurostat catalogue — EU economy, demography, trade, and NUTS regional data.","url":"https://mcp.market/server/cyanheads-eurostat-mcp-server","rating":null,"grade":"A","score":86,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":43,"stars":7,"forks":0,"downloads_week":664,"last_push_at":"2026-09-25T14:38:32.000Z","license":"Apache-2.0"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:45:45.824Z","last_ok_at":"2026-11-04T05:45:45.824Z","latency_ms":222},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/cyanheads/eurostat-mcp-server","website":null,"version":"0.11.2","remotes":[{"type":"streamable-http","url":"https://eurostat.caseyjhand.com/mcp"}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/eurostat-mcp-server","version":"0.11.2","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"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","name":"EUROSTAT_CLAMP_LIMITS"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"},{"description":"Eurostat API base URL. Override when using a mirror or proxy.","format":"string","default":"https://ec.europa.eu/eurostat/api/dissemination","name":"EUROSTAT_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","default":"https://ec.europa.eu/eurostat/api/comext/dissemination","name":"EUROSTAT_COMEXT_BASE_URL"},{"description":"Total allowance for one Eurostat request across retries, backoff and body consumption, in milliseconds.","format":"string","default":"30000","name":"EUROSTAT_REQUEST_TIMEOUT_MS"},{"description":"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","name":"EUROSTAT_METADATA_TIMEOUT_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","default":"43200000","name":"EUROSTAT_TOC_CACHE_TTL_MS"},{"description":"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","name":"EUROSTAT_BULK_TIMEOUT_MS"},{"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","default":"52428800","name":"EUROSTAT_BULK_MAX_BYTES"},{"description":"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","name":"CANVAS_PROVIDER_TYPE"},{"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","name":"CANVAS_TEMP_PATH"},{"description":"Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours.","format":"string","default":"86400000","name":"CANVAS_TTL_MS"},{"description":"Maximum complete rows a single eurostat_dataframe_query returns before reporting truncated.","format":"string","default":"10000","name":"CANVAS_DEFAULT_ROW_LIMIT"},{"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. Has no effect with CANVAS_PROVIDER_TYPE=none.","format":"boolean","default":"false","name":"EUROSTAT_DATAFRAME_DROP_ENABLED"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/eurostat-mcp-server","version":"0.11.2","runtimeHint":"npx","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"environmentVariables":[{"description":"Selects the HTTP transport.","format":"string","value":"http","name":"MCP_TRANSPORT_TYPE"},{"description":"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","name":"EUROSTAT_CLAMP_LIMITS"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Public origin override for deployments behind a TLS-terminating reverse proxy (e.g. https://mcp.example.com).","format":"string","name":"MCP_PUBLIC_URL"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"},{"description":"Eurostat API base URL. Override when using a mirror or proxy.","format":"string","default":"https://ec.europa.eu/eurostat/api/dissemination","name":"EUROSTAT_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","default":"https://ec.europa.eu/eurostat/api/comext/dissemination","name":"EUROSTAT_COMEXT_BASE_URL"},{"description":"Total allowance for one Eurostat request across retries, backoff and body consumption, in milliseconds.","format":"string","default":"30000","name":"EUROSTAT_REQUEST_TIMEOUT_MS"},{"description":"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","name":"EUROSTAT_METADATA_TIMEOUT_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","default":"43200000","name":"EUROSTAT_TOC_CACHE_TTL_MS"},{"description":"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","name":"EUROSTAT_BULK_TIMEOUT_MS"},{"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","default":"52428800","name":"EUROSTAT_BULK_MAX_BYTES"},{"description":"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","name":"CANVAS_PROVIDER_TYPE"},{"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","name":"CANVAS_TEMP_PATH"},{"description":"Sliding lifetime of a staged dataframe canvas in milliseconds; every call against it extends the window. Defaults to 24 hours.","format":"string","default":"86400000","name":"CANVAS_TTL_MS"},{"description":"Maximum complete rows a single eurostat_dataframe_query returns before reporting truncated.","format":"string","default":"10000","name":"CANVAS_DEFAULT_ROW_LIMIT"},{"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. Has no effect with CANVAS_PROVIDER_TYPE=none.","format":"boolean","default":"false","name":"EUROSTAT_DATAFRAME_DROP_ENABLED"}]}],"tools":[],"scan":null,"grade_history":[],"reviews":[]}