Skip to content

jarib/eurostat-mcp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eurostat MCP Server

A Model Context Protocol (MCP) server that provides tools to query Eurostat APIs for European statistics data.

Features

  • 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)

Available Tools

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

Installation

Prerequisites

  • Python 3.10 or higher
  • uv (recommended) or pip

Install with uv (recommended)

# Clone the repository
git clone https://github.com/YOUR_USERNAME/eurostat-mcp.git
cd eurostat-mcp

# Install dependencies
uv pip install -r requirements.txt

Install with pip

# 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.txt

Configuration

Claude Desktop

Add 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"]
    }
  }
}

Claude Code (CLI)

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"]
    }
  }
}

Usage Examples

Search for datasets

Search for GDP datasets
→ search_datasets("GDP")

Query unemployment data

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"
  )

Query international trade data (Comext)

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 data to CSV

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"
  )

Popular Datasets

Economic

  • NAMA_10_GDP - GDP and main components
  • NAMQ_10_GDP - Quarterly GDP

Labour Market

  • UNE_RT_M - Monthly unemployment rate
  • UNE_RT_A - Annual unemployment rate
  • LFSI_EMP_A - Employment rates

Population

  • DEMO_PJAN - Population on 1 January
  • DEMO_GIND - Population change

Prices

  • PRC_HICP_MANR - Monthly inflation rates (HICP)

International Trade (Comext)

  • DS-059341 - Trade by HS2-4-6 product codes
  • DS-059331 - Trade by SITC codes

Business Surveys

  • 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.

API Reference

This server uses the official Eurostat APIs:

Troubleshooting

"Data too large" error

Apply more filters to reduce the data size:

  • Add geo parameter for specific countries
  • Add time_period for date ranges
  • For Comext datasets, specify REPORTER, PARTNER, PRODUCT, FLOW

Timeout errors

Large datasets may timeout. Try:

  • Using last_n_observations to limit results
  • Adding more specific filters
  • Using export_to_csv for large extractions

Dataset not found

Use search_datasets() to find the correct dataset ID, or list_popular_datasets() to browse common datasets.

License

MIT License - see LICENSE file.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgments

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%