# io.github.scka-de/ecb-mcp (npm · ecb-mcp)

ECB data for AI agents — rates, yields, inflation, money supply, and 100+ datasets. No API key.

- Trust score: 67/100 (medium)
- Change this week: +43
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `ecb-mcp`: 67/100 (this document), [markdown](https://verifymcp.io/servers/scka-de-ecb-mcp/ecb-mcp.md), [page](https://verifymcp.io/servers/scka-de-ecb-mcp/ecb-mcp)

## Channel facts

- Registry: `npm`
- Package: `ecb-mcp`
- Version: `0.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (104 of 108), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (104 of 108), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 124 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 67/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1604 tokens (~200/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add scka-de-ecb-mcp -- npx -y ecb-mcp
```

### Codex

```bash
codex mcp add scka-de-ecb-mcp -- npx -y ecb-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "scka-de-ecb-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "ecb-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add scka-de-ecb-mcp --command npx --arg -y --arg ecb-mcp
```

### Hermes

```yaml
mcp_servers:
  scka-de-ecb-mcp:
    command: "npx"
    args: ["-y", "ecb-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "scka-de-ecb-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "ecb-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 67, +34)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional] Licence: MIT

### 2026-08-02 (score 33, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-07-31 (score 18, −25)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 43, +19)

- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: unverified
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail

### 2026-07-27 (score 24)

First indexed and scored.

## MCP tools (8)

### `get_exchange_rates` (~214 tokens)

Get EUR exchange rates from the European Central Bank.

Returns daily, monthly, or annual reference rates for a currency pair against EUR.
The ECB publishes reference rates for ~40 currencies at 16:00 CET each business day.

Examples of questions this tool answers:
\- "What is the current EUR/USD exchange rate?"
\- "Show me EUR/GBP rates for the last week"
\- "What was the EUR/JPY rate in January 2025?"

Input parameters:

- `endPeriod` (string): End date (YYYY-MM-DD, YYYY-MM, or YYYY)
- `frequency` (string): D=daily (default), M=monthly average, A=annual average
- `lastNObservations` (integer): Return only the last N data points
- `startPeriod` (string): Start date (YYYY-MM-DD, YYYY-MM, or YYYY)
- `target` (string, required): Target currency code (e.g. "USD", "GBP", "JPY", "CHF"). Use "+" for multiple: "USD+GBP"

### `get_interest_rates` (~193 tokens)

Get key ECB interest rates — the rates that drive eurozone monetary policy.

Returns the ECB's main policy rates: Main Refinancing Operations (MRO), Deposit Facility,
and Marginal Lending Facility. These are the rates the ECB sets at its Governing Council meetings.

Examples of questions this tool answers:
\- "What is the current ECB deposit facility rate?"
\- "Show me the history of ECB interest rate changes"
\- "When did the ECB last change its main refinancing rate?"

Input parameters:

- `endPeriod` (string): End date (YYYY-MM-DD, YYYY-MM, or YYYY)
- `lastNObservations` (integer): Return only the last N data points
- `startPeriod` (string): Start date (YYYY-MM-DD, YYYY-MM, or YYYY)
- `type` (string, required): Rate type: "MRO" (main refinancing), "deposit_facility", or "marginal_lending"

### `get_inflation` (~210 tokens)

Get HICP inflation data from the ECB — the official eurozone inflation measure.

Returns the Harmonised Index of Consumer Prices (HICP) as published by Eurostat via the ECB.
Available as annual rate of change (%) or index level, for the euro area or individual countries.

Examples of questions this tool answers:
\- "What is the current eurozone inflation rate?"
\- "Show me Germany's inflation over the past year"
\- "Compare inflation in France vs Italy"

Input parameters:

- `country` (string): Country code: "U2" for euro area (default), "DE", "FR", "IT", "ES", etc.
- `endPeriod` (string): End date (YYYY-MM, or YYYY)
- `lastNObservations` (integer): Return only the last N data points
- `measure` (string): annual_rate = year-over-year % change (default), index = price index level
- `startPeriod` (string): Start date (YYYY-MM, or YYYY)

### `get_yield_curve` (~237 tokens)

Get euro area government bond yield curve data from the ECB.

Returns spot rates from the ECB's AAA-rated government bond yield curve.
Available maturities range from 3 months to 30 years. Updated daily.

Examples of questions this tool answers:
\- "What is the current 10-year euro area yield?"
\- "Show me the 2-year yield over the past 6 months"
\- "What was the 5-year spot rate in March 2024?"

Input parameters:

- `endPeriod` (string): End date (YYYY-MM-DD, YYYY-MM, or YYYY)
- `issuerType` (string): Issuer rating: "AAA" (default) or "all_gov" for all government bonds
- `lastNObservations` (integer): Return only the last N data points
- `maturity` (string): Bond maturity: "3M", "6M", "1Y", "2Y", "5Y", "10Y" (default), "15Y", "20Y", "30Y"
- `startPeriod` (string): Start date (YYYY-MM-DD, YYYY-MM, or YYYY)

### `get_money_supply` (~254 tokens)

Get euro area monetary aggregates (M1, M2, M3) from the ECB.

Returns monetary aggregate data as outstanding amounts (EUR millions) or annual growth rates.
M1 = currency in circulation + overnight deposits. M2 = M1 + short-term deposits. M3 = M2 + repos + money market funds + debt securities up to 2 years.

Examples of questions this tool answers:
\- "What is the current M3 money supply in the euro area?"
\- "Show me M1 growth rate over the past year"
\- "How has M3 evolved since 2020?"

Input parameters:

- `aggregate` (string): Monetary aggregate: "M1", "M2", or "M3" (default)
- `country` (string): Country code: "U2" for euro area (default), or specific country like "DE", "FR"
- `endPeriod` (string): End date (YYYY-MM, or YYYY)
- `lastNObservations` (integer): Return only the last N data points
- `measure` (string): outstanding = EUR millions (default), growth_rate = annual % change
- `startPeriod` (string): Start date (YYYY-MM, or YYYY)

### `convert_currency` (~195 tokens)

Convert an amount between currencies using ECB reference rates.

Supports EUR to any currency, any currency to EUR, and cross-currency conversion
(e.g. USD to GBP) via EUR triangulation. Uses the latest ECB reference rate,
or a rate from a specific date.

Examples of questions this tool answers:
\- "Convert 1000 EUR to USD"
\- "How much is 500 GBP in EUR?"
\- "Convert 250 USD to JPY"
\- "What was 1000 EUR worth in CHF on 2025-01-15?"

Input parameters:

- `amount` (number, required): Amount to convert
- `date` (string): Specific date for the rate (YYYY-MM-DD). Uses latest if omitted.
- `from` (string, required): Source currency code (e.g. "EUR", "USD", "GBP")
- `to` (string, required): Target currency code (e.g. "EUR", "USD", "GBP")

### `search_datasets` (~138 tokens)

Search the ECB's 100+ statistical datasets by keyword.

Returns matching dataset IDs and names. Use this to discover what data the ECB publishes.
After finding a dataset, use explain_dataset to learn its structure, or use the specific
data tools (get_exchange_rates, get_interest_rates, etc.) for common queries.

Examples of questions this tool answers:
\- "What ECB datasets are available about inflation?"
\- "Does the ECB publish data about bank lending?"
\- "What datasets cover government debt?"

Input parameters:

- `query` (string, required): Search keyword (e.g. "inflation", "exchange", "lending", "payment", "insurance")

### `explain_dataset` (~163 tokens)

Explain the structure of any ECB dataset — dimensions, valid values, and example queries.

Use this after search_datasets to understand what a dataset contains and how to query it.
Returns the dataset's dimensions, their valid values (codes), and an example series key.
Works for all 100+ ECB datasets, not just the ones with dedicated tools.

Examples of questions this tool answers:
\- "What dimensions does the EXR dataset have?"
\- "What are the valid currency codes in the exchange rate dataset?"
\- "How do I query the BSI (balance sheet) dataset?"

Input parameters:

- `dataset_id` (string, required): Dataset ID (e.g. "EXR", "FM", "ICP", "YC", "BSI"). Use search_datasets to find IDs.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/scka-de-ecb-mcp/ecb-mcp#diagnostics

## Score history

- 2026-08-03: 67
- 2026-08-02: 33
- 2026-08-01: 18
- 2026-07-31: 18
- 2026-07-30: 43
- 2026-07-28: 43
- 2026-07-27: 24

## Links

- npm package: https://www.npmjs.com/package/ecb-mcp
- Socket report: https://socket.dev/npm/package/ecb-mcp
- Repository: https://github.com/scka-de/ecb-mcp
- Changelog RSS feed: https://verifymcp.io/servers/scka-de-ecb-mcp/ecb-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/scka-de-ecb-mcp/ecb-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/scka-de-ecb-mcp/ecb-mcp
