DEV Community

Dimitri
Dimitri

Posted on

I Built a Free MCP Server for European Financial Data

The ECB deposit rate is 2%. Eurostat publishes inflation for all 27 EU countries every month. All of it is free. Getting it into Claude without writing a parser takes 30 seconds now.


ECB rates in Claude — eu-finance MCP


The problem

ECB and Eurostat APIs are free and official. But their responses look like this:

<message:GenericData>
  <message:DataSet>
    <generic:Series>
      <generic:SeriesKey>
        <generic:Value id="FREQ" value="M"/>
        <generic:Value id="REF_AREA" value="U2"/>
        <generic:Value id="INDICATOR" value="MRR_FR"/>
      </generic:SeriesKey>
      <generic:Obs>
        <generic:ObsDimension value="2024-04"/>
        <generic:ObsValue value="4.5"/>
Enter fullscreen mode Exit fullscreen mode

SDMX-XML with dataset codes that require reading a 40-page spec to interpret. Not something you want inside a Claude prompt.


What eu-finance does

6 tools, all returning flat JSON:

Tool What you get Source
get_ecb_rates Deposit facility, main refi, marginal lending rates ECB SDW
get_euro_exchange EUR vs 30+ currencies, latest or by date ECB / Frankfurter
get_eu_inflation HICP inflation by EU country, monthly/annual Eurostat
get_eu_gdp GDP by country, quarterly, growth or absolute Eurostat
get_eu_unemployment Unemployment by country and age group Eurostat
compare_eu_economies Inflation + GDP + unemployment side by side All sources

No API key. No account.


Install

Claude Code:

claude mcp add eu-finance -- npx -y @nexusforgetools/eu-finance
Enter fullscreen mode Exit fullscreen mode

Claude Desktop / Cursor / Windsurf / Cline:

{
  "mcpServers": {
    "eu-finance": {
      "command": "npx",
      "args": ["-y", "@nexusforgetools/eu-finance"]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

What you can ask

Ask in plain language — eu-finance handles the API calls:

EU inflation comparison — eu-finance MCP


How it works

Calls ECB SDW and Eurostat SDMX REST APIs directly — both free, no auth required. Every response is normalized into typed flat JSON before leaving the tool. Redis cache in HTTP mode (1h for rates, 6h for inflation, 24h for GDP). Dual transport: stdio for local clients, HTTP/SSE for server deployments. TypeScript/ESM, Zod validation.


Links

If there's a specific ECB or Eurostat dataset you need, open an issue.

Top comments (0)