eurostat-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_TRANSPORT | No | Transport for the MCP server. Set to 'http' to use streamable HTTP; defaults to stdio. | |
| EUROSTAT_OFFLINE | No | Historical alias for offline mode; equivalent to NUTSHELL_OFFLINE=1. | |
| NUTSHELL_OFFLINE | No | Run the server in offline mode (no network calls). Common values: '1' or 'true'. | |
| NUTSHELL_DATA_DIR | No | Root directory for all server data (mirror, database, registry). Defaults to the repository root. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_indicatorsA | Cherche un indicateur (socio-économique, environnemental, infrastructure). Point d'entrée de toute analyse territoriale croisée. source filtre sur eurostat, copernicus ou osm. Utiliser ensuite list_zones puis get_indicators. |
| list_zonesA | Liste les zones d'un niveau NUTS0-3 ou CITY, sous un parent ou par nom. Exemple : list_zones("NUTS2", parent="FR"). Les codes obtenus alimentent get_indicators. |
| get_indicatorsA | Valeurs d'indicateurs pour des zones, une colonne par indicateur. Croise plusieurs sources en un seul tableau. Maximum 5 indicateurs et 100 zones ; sans time_from/time_to, les 3 dernières périodes. Les ids viennent de search_indicators, les codes de zone de list_zones. |
| search_datasetsA | Recherche full-text dans le catalogue Eurostat (~7000 datasets). Renvoie code, titre et période couverte. Utiliser ensuite get_structure(code) avant toute requête de données. |
| get_structureA | Dimensions et codes d'un dataset (codelists tronquées). À appeler avant query_data. Si une dimension affiche '… et N autres', utiliser list_codes pour la parcourir. |
| list_codesA | Liste les codes d'une dimension, filtrable par sous-chaîne. Exemple : list_codes("nama_10_gdp", "geo", contains="fr"). |
| query_dataA | Interroge un dataset Eurostat au grain complet. filters = {dim: "A+B"}. Exemple : query_data("nama_10_gdp", {"geo": "FR+BE", "na_item": "B1GQ", "unit": "CP_MEUR"}, time_from="2020"). Réponse plafonnée à 400 cellules. Pour croiser avec des indicateurs environnementaux ou d'infrastructure, préférer get_indicators. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: search_indicators for finding indicators, list_zones for geographic zones, get_indicators for cross-source indicator values, search_datasets for dataset catalog search, get_structure for dataset dimensions, list_codes for browsing dimension codes, and query_data for raw dataset queries. No two tools overlap in function, and the descriptions explicitly guide the intended workflow.
All tools follow a consistent verb_noun snake_case pattern: search_indicators, list_zones, get_indicators, search_datasets, get_structure, list_codes, query_data. The verbs (search, list, get, query) and nouns are distinct and meaningful, with no mixed conventions or abbreviations.
With 7 tools, the set is well-scoped for a Eurostat MCP server. It covers two clear workflows (indicator-based territorial analysis and raw dataset exploration) without excessive overlap or unnecessary additions. The count is ideal for the described functionality.
The tools cover the full lifecycle for both workflows: searching for indicators/datasets, exploring structure (zones, dimensions, codes), and retrieving data (indicators or raw queries). No obvious gaps exist; the separation between get_indicators and query_data is clearly explained, and helper tools (list_codes) fill potential needs.