Skip to main content
Glama
io.github.mohammad-abbasi-sh/ecb-mcp

io.github.mohammad-abbasi-sh/ecb-mcp

README.md
# ecb-mcp ๐Ÿ’ถ

mcp-name: io.github.mohammad-abbasi-sh/ecb-mcp

Unofficial **read-only** MCP server for **[data-api.ecb.europa.eu](https://data-api.ecb.europa.eu)** โ€” European Central Bank data via the official ECB SDMX API (free, no key, no login): euro exchange rates, key ECB interest rates, HICP inflation, M3 money supply and euro-area bond yields. No key, no login.

> Built by Mohammad Abbasi as part of the "Germany MCP factory". Not affiliated with data-api.ecb.europa.eu.

## For AI agents

Add to your MCP client config (stdio):

```json
{
  "mcpServers": {
    "ecb": {
      "command": "uvx",
      "args": ["ecb-mcp==0.1.0"]
    }
  }
}
```

Or run locally: `python -m ecb_mcp.server` (needs `mcp<2`, `httpx`).

## Tools

| Tool | Description |
|------|-------------|
| `ecb_exchange_rates` | Daily euro reference rates โ€” `currencies` (e.g. USD,GBP,JPY,CHF; default all majors), `limit` 1..30 days |
| `ecb_interest_rates` | Current key ECB interest rates โ€” no params; returns MRO, deposit facility and marginal lending rates with dates |
| `ecb_inflation` | HICP annual inflation rate โ€” `area`: U2 (euro area, default) or DE (Germany); `limit` 1..24 months |
| `ecb_money_supply` | Money supply outstanding amounts โ€” `aggregate`: M1, M2 or M3 (default M3); `limit` 1..24 months |
| `ecb_bond_yields` | AAA-rated euro-area yield curve โ€” `maturity`: 2Y, 5Y, 10Y (default), 20Y or 30Y; `limit` 1..30 days |
| `ecb_health` | Reachability probe (ok / blocked / error) โ€” one polite request |

## Development

```bash
python3 -m venv .venv && .venv/bin/pip install "mcp<2" httpx pytest
.venv/bin/pip install -e .
.venv/bin/python -m pytest tests/ -q
```

## License

MIT

---

Built by [Mohammad Abbasi](https://github.com/mohammad-abbasi-sh) โ€” [Almanibama](https://almanibama.ir) ยท [mabbasi.ir](https://mabbasi.ir)

TDQS

A3.8/5.0

Scored across 6 tools

Disambiguation5/5

Each tool maps to a clearly distinct ECB dataset (exchange rates, interest rates, inflation, money supply, bond yields) with no overlapping scope, and ecb_health is unambiguously a connectivity probe. Parameter names (currencies, area, aggregate, maturity, limit) further separate the tools.

Naming Consistency5/5

All six tools follow the same ecb_<domain_noun> snake_case pattern, and parameter names use consistent lowercase snake_case as well. The only slight outlier is ecb_health, but it still fits the prefix/pattern convention.

Tool Count5/5

Six tools is well-scoped for a focused ECB statistical data server, with one tool per major dataset plus a diagnostic. Nothing feels padded or redundant.

Completeness4/5

The set covers the headline ECB datasets with sensible defaults and history limits, and includes a health check for failure diagnosis. Minor gaps exist: no discovery/metadata tool to enumerate valid currencies, areas, or aggregates, and no fallback beyond the health probe.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues