Central Bank Rates MCP Server
Access official published central-bank and tax-authority exchange rates for 60+ institutions via five MCP tools.
List covered institutions and get their bank/authority codes.
Fetch a bank’s latest official rates or a date-specific table, optionally narrowed to one currency pair.
Get date-by-date official rate history for one pair, with paid volume billing.
Compare one currency pair across all banks with min/max/median/spread statistics.
Retrieve a bank’s publication calendar showing dates rates were published, without values.
Use keyless mode for latest published tables/listings; keys or paid plans unlock dated tables, history, comparison, and calendars.
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 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.
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 (130+ central banks and 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
6 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 — 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 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 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
Scored across 6 tools
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.
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.
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.
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
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.271 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