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 130+ central banks and 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?

  • 🏛️ 130+ central banks and 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 (130+ central banks and 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

6 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 — with an API key, pairs not directly published are cross-computed via the bank's own home currency and flagged derived; keyless serves only published pairs and their inverses. 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 130+ central banks and tax authorities (plus a composite) — 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.

request_trial_keyRequest a trial API keyA

Self-issue an AllRatesToday API key with 100 lifetime calls, valid 7 days, with no account and no email. Use it when another tool answered "needs an API key" and the user wants a dated central-bank table, a history series, a cross-bank comparison or a publication calendar right now. The key is adopted by this server for the rest of the session and returned once — tell the user to put it in the MCP config as ALLRATES_API_KEY to keep it. Capped at 3 keys per IP per day. For a lasting key, register at https://allratestoday.com/register (free) or see https://allratestoday.com/pricing.

Inputs: agent, purpose. Returns: key, note, calls, adopted, +1 more

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 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct axis: enumerating banks, fetching a bank's official table, fetching a per-date series, comparing across banks for one pair, and listing publication dates only. The descriptions explicitly disambiguate the riskiest overlaps (get_official_rates vs compare_official_rates, history vs calendar) and even steer users to a different package for live market rates.

    Naming Consistency5/5

    All names follow a strict snake_case verb_noun pattern (list_central_banks, get_official_rates, get_official_rate_history, compare_official_rates, get_publication_calendar, request_trial_key). The single auth-related tool still fits the same convention, so there is no style drift.

    Tool Count5/5

    Six tools is tight and well-scoped for a rates data server: one discovery tool, three rate-query tools at different granularity, one comparison aggregator, and one key-bootstrap tool. Nothing looks redundant or padded.

    Completeness4/5

    The core lifecycle is covered: discover banks, get latest/dated official tables, get history series, cross-bank comparison, and publication cadence, plus a way to obtain a key. Minor gaps remain — no tool to inspect key status/quota usage, no explicit currency-conversion or bulk multi-pair fetch, so an agent hitting billing limits must infer state from errors.

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