A Model Context Protocol (MCP) server that provides tools to query Eurostat APIs for European statistics data.
- Search datasets - Find Eurostat datasets by keyword
- Query data - Retrieve data with flexible filtering options
- Export to CSV - Save data locally for further analysis
- Support for both APIs:
- SDMX 3.0 API for regular datasets (GDP, unemployment, population, etc.)
- SDMX 2.1 Comext API for trade/production datasets (DS-prefixed)
| Tool | Description |
|---|---|
search_datasets |
Search for datasets by keyword |
get_dataset_info |
Get metadata and dimensions for a dataset |
query_eurostat_data |
Query data with filters (geo, time, etc.) |
get_available_values |
List valid values for a dimension |
list_popular_datasets |
Show commonly used datasets by category |
export_to_csv |
Export data to a local CSV file |
export_multiple_datasets |
Batch export multiple datasets |
- Python 3.10 or higher
- uv (recommended) or pip
# Clone the repository
git clone https://github.com/YOUR_USERNAME/eurostat-mcp.git
cd eurostat-mcp
# Install dependencies
uv pip install -r requirements.txt# Clone the repository
git clone https://github.com/YOUR_USERNAME/eurostat-mcp.git
cd eurostat-mcp
# Create virtual environment (optional but recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txtAdd the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"eurostat": {
"command": "uv",
"args": [
"--directory",
"/path/to/eurostat-mcp",
"run",
"server.py"
]
}
}
}Or with Python directly:
{
"mcpServers": {
"eurostat": {
"command": "python",
"args": ["/path/to/eurostat-mcp/server.py"]
}
}
}Add to your Claude Code settings (.claude/settings.json in your project or ~/.claude/settings.json globally):
{
"mcpServers": {
"eurostat": {
"command": "python",
"args": ["/path/to/eurostat-mcp/server.py"]
}
}
}Search for GDP datasets
→ search_datasets("GDP")
Get monthly unemployment rate for Germany and France in 2024
→ query_eurostat_data(
dataset_id="UNE_RT_M",
geo="DE+FR",
time_period="ge:2024"
)
Get German exports to China in 2024
→ query_eurostat_data(
dataset_id="DS-059341",
filters="REPORTER=DE&PARTNER=CN&FLOW=2",
time_period="2024"
)
Export GDP data for EU countries
→ export_to_csv(
dataset_id="NAMA_10_GDP",
output_path="data/gdp_eu.csv",
geo="EU27_2020",
time_period="ge:2015"
)
NAMA_10_GDP- GDP and main componentsNAMQ_10_GDP- Quarterly GDP
UNE_RT_M- Monthly unemployment rateUNE_RT_A- Annual unemployment rateLFSI_EMP_A- Employment rates
DEMO_PJAN- Population on 1 JanuaryDEMO_GIND- Population change
PRC_HICP_MANR- Monthly inflation rates (HICP)
DS-059341- Trade by HS2-4-6 product codesDS-059331- Trade by SITC codes
ei_bsin_q_r2- Industry survey results (quarterly)ei_bsin_m_r2- Industry confidence indicator (monthly)
Note: DS-prefixed datasets (Comext/Prodcom) require heavy filtering due to their size. Always specify REPORTER, PARTNER, PRODUCT, or other filters.
This server uses the official Eurostat APIs:
Apply more filters to reduce the data size:
- Add
geoparameter for specific countries - Add
time_periodfor date ranges - For Comext datasets, specify
REPORTER,PARTNER,PRODUCT,FLOW
Large datasets may timeout. Try:
- Using
last_n_observationsto limit results - Adding more specific filters
- Using
export_to_csvfor large extractions
Use search_datasets() to find the correct dataset ID, or list_popular_datasets() to browse common datasets.
MIT License - see LICENSE file.
Contributions are welcome! Please feel free to submit a Pull Request.