Skip to main content
Glama
Central Bank Rates MCP Server

Central Bank Rates MCP Server

Central Bank Rates MCP Server — @allratestoday/central-bank-mcp

Website: https://allratestoday.com/central-bank-rates-api/ · Hosted endpoint (no install): https://allratestoday.com/api/mcp · Docs: https://allratestoday.com/mcp/

npm version npm downloads license MCP TypeScript Central Bank Mcp on AI Agents Listing

Give your AI assistant the official exchange rates that compliance, tax, and accounting actually require. A Model Context Protocol server that lets Claude Code, Cursor, Claude Desktop, Windsurf, and any MCP-compatible client fetch published central-bank and tax-authority rates from 122 central banks and 4 tax authorities — ECB, Fed, Bank of Japan, HMRC, US Treasury, and more — via the AllRatesToday API.

After installation, your assistant can answer questions like:

  • "What is the ECB's official USD/EUR rate today?"

  • "What HMRC rate should I use for this March invoice?"

  • "Show me the Bank of Japan's official rate for every day of Q1."

  • "Compare the official USD/LKR rate across every central bank that publishes one."

⚖️ Official rates vs mid-market rates

Everything this server returns is an official published rate: fixed once the institution publishes it, carrying that institution's own publication date — the number tax authorities, auditors, and customs require. It is not the live market rate. For live mid-market rates (price display, conversion, anything that should track the market), use the companion server @allratestoday/mcp-server. The two can diverge by several percent — pick by use case. Methodology: allratestoday.com/official-rates-methodology.

Related MCP server: plinth-fx-mcp

🚀 Why this server?

  • 🏛️ 122 central banks and 4 tax authorities — central banks (ECB, Fed, BOJ, SNB, RBI, …) plus tax authorities (HMRC, US Treasury, …), each served from its own published tables

  • 📅 Point-in-time correctness — ask for any date; weekends and holidays roll back to the rate legally in force, and the response tells you which publication date applied

  • 📊 Cross-bank comparison — one call returns every institution's rate for a pair, with min/max/median and spread stats

  • 🧮 Honest derivations — with an API key, pairs a bank doesn't publish directly are cross-computed only within that bank's own table and flagged derived; banks are never mixed. Keyless serves only published pairs and their inverses

  • 🔓 Works with no API key — installs and answers out of the box; the latest published table of every source is open

  • 🧰 Six focused tools — small surface, easy for the model to use correctly

  • 🔌 Works everywhere MCP does — stdio transport, MCP 1.x; Claude Code, Cursor, Claude Desktop, Windsurf, or any generic host

🔑 Get your API key (free)

A free key adds cross-bank comparison, cross-computed pairs and publication calendars — free, no credit card required. Dated (historical) tables and time series need a paid plan: free and trial keys get a 403 for them.

  1. Register at allratestoday.com/register — 30 seconds

  2. Verify your email

  3. Copy your key from the dashboard (format: art_live_xxxxx)

  4. Use it as ALLRATES_API_KEY in the configs below

Without one the server prints a short summary of keyless mode (below) on stderr and keeps running — it never exits, because an MCP server that exits breaks the host client's whole configuration.

🔓 Keyless mode — what works with no setup

Install it with no configuration at all and it starts, connects, and answers:

Tool

Keyless

What you get

list_central_banks

✅

Every covered institution (122 central banks, 4 tax authorities and the composite), from a catalogue bundled with the package (no coverage dates).

get_official_rates

✅

The latest published table of any source, or one published pair (or its inverse) from it, with the publisher's own rate_date. Cross pairs need a key.

get_official_rates with a date

🔑

One sentence explaining that dated tables need a paid plan.

get_official_rate_history

🔑

Same (paid plan).

compare_official_rates

🔑

One sentence explaining how to get a free key.

get_publication_calendar

🔑

Same.

request_trial_key

✅

Self-issues a 100-call, 7-day key with no account and adopts it for the session.

The keyless path reads the open, edge-cached /api/open/central-bank/{bank} endpoint (the exact attribution wording also ships in each response's attribution field).

Attribution. Keyless use requires a visible, followable link to AllRatesToday wherever the rates are shown (a footer, an about page, a README). With an API key it is appreciated but not required.

<a href="https://allratestoday.com">Exchange rates by AllRatesToday</a>

Markdown: Exchange rates by [AllRatesToday](https://allratestoday.com). Full wording: https://allratestoday.com/terms/#attribution.

🧩 Easiest install: the Claude Code plugin

If you use Claude Code, install the plugin instead of configuring this server by hand — it bundles both AllRatesToday MCP servers, two skills, and five slash commands (/rate, /convert, /official-rate, /fx-history, /add-currency-support):

/plugin marketplace add AllRates-Today/claude-code-plugin
/plugin install allratestoday@allratestoday

Everything below still applies for other MCP clients.

☁️ Hosted endpoint — nothing to install

The same six tools also run as a hosted Streamable HTTP MCP server, together with the five tools of the sibling AllRatesToday server — eleven in total on the hosted endpoint (this npm package itself exposes six). Paste the URL into any client that supports remote MCP — Claude.ai and Claude Desktop connectors, ChatGPT, Cursor, VS Code, Codex, Gemini CLI:

https://allratestoday.com/api/mcp
claude mcp add --transport http allratestoday https://allratestoday.com/api/mcp

Works keyless. With a key, send Authorization: Bearer art_live_… or, where the client only takes a URL, connect to https://allratestoday.com/api/mcp?api_key=art_live_…. Registry name: com.allratestoday/mcp. One-click Cursor / VS Code buttons: https://allratestoday.com/mcp/#hosted

📦 Installation

# Run without installing (recommended)
npx -y @allratestoday/central-bank-mcp
# Or install globally
npm install -g @allratestoday/central-bank-mcp
central-bank-mcp

Both commands launch the stdio MCP server and wait for a client to connect — your MCP client launches them as a subprocess.

🏁 Quick setup per client

Claude Code

claude mcp add central-bank-rates -e ALLRATES_API_KEY=art_live_xxxxx -- npx -y @allratestoday/central-bank-mcp

Restart Claude Code. Verify by asking: "Which central banks can you fetch official rates from?"

Cursor

Edit ~/.cursor/mcp.json (or .cursor/mcp.json inside your project):

{
  "mcpServers": {
    "central-bank-rates": {
      "command": "npx",
      "args": ["-y", "@allratestoday/central-bank-mcp"],
      "env": {
        "ALLRATES_API_KEY": "art_live_xxxxx"
      }
    }
  }
}

Claude Desktop

Edit claude_desktop_config.json (Settings → Developer → Edit Config) and add the same mcpServers block as the Cursor example above, then restart Claude Desktop.

🧰 Tools

Tool

What it does

Plan

list_central_banks

All covered institutions with codes, metadata, latest date

Free (keyless: bundled catalogue)

get_official_rates

A bank's published table (or one pair), latest or for a given date

Keyless (latest) / Paid (dated)

get_official_rate_history

Date-by-date official series for one pair

Paid, billed ~1 call per month covered

compare_official_rates

One pair across every bank, with spread stats

Free (key required)

get_publication_calendar

Dates a bank actually published (no values)

Free (key required)

request_trial_key

Self-issue a 100-call, 7-day trial key (no account) and use it for the rest of the session

Keyless, 3 per IP per day

🔒 Privacy

Only the request parameters and your API key ever reach allratestoday.com — never conversation context.

📚 More from AllRatesToday

License

MIT © AllRatesToday

Available Tools

5 tools
compare_official_ratesCompare one pair across every bankA
Read-only

Use this when the user wants one currency pair across ALL institutions at once — 'what does each central bank say USD/EUR is?', 'spread between official USD/LKR rates', 'which bank has the highest official rate for X?'. One call returns every covered bank's latest official rate for the pair plus spread stats { min, max, median, spread_bps } over fresh sources (stale quarterly publishers are returned but excluded from stats). Rates a bank doesn't publish directly are cross-computed within that bank's own table only — banks are never mixed. Methodology: https://allratestoday.com/official-rates-methodology/

Inputs: source (required), target (required).

get_official_rate_historyGet a bank's official rate historyA
Read-only

Use this for a date-by-date series of one bank's OFFICIAL rates — 'ECB USD rate for every day of 2025', 'how did the CBSL official rate move last quarter'. Returns one row per published date: { series: [{ date, rate, rate_type, derived, method }] }. Give either symbol (matches either side of the pair vs the bank's home currency) or a source+target pair. Defaults to the last year when from/to omitted. Paid plans only, and BILLED BY VOLUME: one API call per month of history covered (a year-long series costs ~12 calls) — keep ranges as narrow as the question needs. For publication dates without values (free) use get_publication_calendar.

Inputs: bank (required), to, from, source, +2 more.

get_official_ratesGet a bank's official published ratesA
Read-only

Use this for OFFICIAL rates a specific institution published — 'what is the ECB rate for USD?', 'Bank of Japan official rate on 2026-03-14', 'HMRC rate for invoicing'. These are the fixed rates in force for compliance, tax, customs, and accounting — NOT live market rates. Omit date for the newest published table; give date (paid plans) for the table in force on that day (weekends/holidays roll back to the last published date — the response's rate_date says which). Omit source/target for the bank's full table { rates: [{ base, quote, type, value }] }; give both for one pair — cross-computed via the bank's own home currency when not directly published, flagged derived. For live mid-market rates use the @allratestoday/mcp-server package instead.

Inputs: bank (required), date, source, target.

get_publication_calendarGet a bank's publication calendarA
Read-only

Use this to see WHICH dates a bank actually published a rate table — 'did the ECB publish on 2026-01-01?', 'how often does the US Treasury publish?'. Returns dates only, no rate values, so it is available on every plan (unlike history). Gaps reveal weekends, holidays, and weekly/quarterly publication cadence. Give ?year=YYYY or a from/to range; large ranges are capped and flagged truncated.

Inputs: bank (required), to, from, year.

list_central_banksList covered central banks & tax authoritiesA
Read-only

Call this FIRST when you need a bank code, or when the user asks 'which central banks do you cover?' or 'do you have rates from X?'. Returns { banks: [{ code, name, country, home_ccy, rate_types, latest date, ... }], disclaimer } for 60+ institutions — central banks (ECB, Fed, BOJ, ...) plus tax authorities (HMRC, US Treasury, ...). The code field is what every other tool takes as its bank parameter. Cheap to call.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.6/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool maps to a distinct task: bank discovery, single-institution official rate lookup, historical series, cross-institution comparison, and publication-date lookup. Even the two rate retrieval tools are clearly separated by snapshot vs history, and compare_official_rates is explicitly cross-institution.

    Naming Consistency4/5

    Most tools follow a readable get_/list_/compare_ + domain-noun pattern, with get_official_rates and get_official_rate_history clearly parallel. list_central_banks and compare_official_rates use different verbs, but the distinction is logical and predictable.

    Tool Count5/5

    Five tools is well-scoped for a central bank rates server: no redundancy, and each tool covers a distinct query type. The count feels neither thin nor bloated.

    Completeness5/5

    The surface covers the core domain completely: discover banks, get current official rates, get history, compare across banks, and check publication calendars. Live market rates are intentionally out of scope and explicitly deferred to another package, so there are no material dead ends.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Real-time currency exchange rates and crypto prices via MCP. Convert between 60+ fiat currencies and 30+ cryptocurrencies with multi-source failover. No API keys needed for upstream data.
      9 npm
      ISC
    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      MCP server that provides real exchange-rate data from the European Central Bank, including latest rates, currency conversion, historical rates, and time series.
      -