Central Bank Rates MCP Server
Fetch official (published, not live market) central-bank and tax-authority exchange rates through five read-only MCP tools.
List institutions —
list_central_banksreturns the catalogue of supported banks/authorities with codes, names, countries, home currency, rate types, and latest date (cheap first call to get abankcode).Get official rates —
get_official_ratesreturns a bank's latest published table, or a single pair (viasource+target, cross-computed within that bank's own table and flaggedderivedwhen not directly published); omittingdategives the newest table, supplying a date (paid plan) gives the table legally in force that day, with weekends/holidays rolled back.Rate history —
get_official_rate_historyreturns a date-by-date series for one pair (defaults to the last year; paid plan, billed ~1 call per month covered).Cross-bank comparison —
compare_official_ratesreturns one pair across every institution at once with min/max/median/spread_bps stats, excluding stale publishers from the stats.Publication calendar —
get_publication_calendarlists which dates a bank actually published (year or from/to range), revealing holiday and cadence gaps.Keyless start — the latest published table of any source and its inverse work with no API key or account; comparison, calendar, dated tables, and history require a free/paid key.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Central Bank Rates MCP Server What is the ECB's official USD/EUR rate for today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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/
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.
Register at allratestoday.com/register — 30 seconds
Verify your email
Copy your key from the dashboard (format:
art_live_xxxxx)Use it as
ALLRATES_API_KEYin 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 |
| ✅ | Every covered institution (122 central banks, 4 tax authorities and the composite), from a catalogue bundled with the package (no coverage dates). |
| ✅ | The latest published table of any source, or one published pair (or its inverse) from it, with the publisher's own |
| 🔑 | One sentence explaining that dated tables need a paid plan. |
| 🔑 | Same (paid plan). |
| 🔑 | One sentence explaining how to get a free key. |
| 🔑 | Same. |
| ✅ | 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@allratestodayEverything 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/mcpclaude mcp add --transport http allratestoday https://allratestoday.com/api/mcpWorks 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-mcpBoth 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-mcpRestart 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 |
| All covered institutions with codes, metadata, latest date | Free (keyless: bundled catalogue) |
| A bank's published table (or one pair), latest or for a given date | Keyless (latest) / Paid (dated) |
| Date-by-date official series for one pair | Paid, billed ~1 call per month covered |
| One pair across every bank, with spread stats | Free (key required) |
| Dates a bank actually published (no values) | Free (key required) |
| 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
@allratestoday/mcp-server— live mid-market rates MCP serverOpen data archive — the same published tables mirrored daily: Hugging Face · Kaggle (CC BY-NC 4.0)
🔗 Links
Download central bank rates — every bank's tables as Excel, CSV or JSON
ChatGPT app — ask ChatGPT for live and official central bank rates
OpenAPI reference on Bump.sh — also on SwaggerHub
License
MIT © AllRatesToday
Available Tools
5 toolscompare_official_ratesCompare one pair across every bankARead-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 historyARead-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 ratesARead-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 calendarARead-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 authoritiesARead-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
Scored across 5 tools
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.
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.
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.
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
Related MCP Connectors
Live FX + official central-bank rates, 110+ sources. Hosted, keyless, nothing to install.
Official exchange rates from central banks: latest & historical rates plus currency conversion.
ExchangeRate MCP — wraps open.er-api.com (free, no auth)
Indicative fiat and crypto rates over MCP, paid per request via x402 at $0.0001/request.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceReal-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 npmISC
- -licenseNot gradedqualityNot gradedmaintenanceMCP server that provides real exchange-rate data from the European Central Bank, including latest rates, currency conversion, historical rates, and time series.-
- AlicenseNot gradedqualityBmaintenanceConvert currencies, get FX rates, and query historical ECB exchange rate data via MCP.408 npm1Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables querying official Brazilian Central Bank currency exchange rates and quotes through a read-only MCP tool, with pay-per-use prepaid credits.MIT