Real-time currency exchange rates, historical data, and multi-currency lookups via AllRatesToday.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A Model Context Protocol server that lets Claude Code, Cursor, Claude Desktop, Windsurf, and any other MCP-compatible client fetch real-time currency rates, historical series, and multi-currency lookups from the AllRatesToday API. Rates come from institutional interbank market data.
English | ็ฎไฝไธญๆ
After installation, your assistant can answer questions like:
1d (hourly), 7d (daily), 30d (daily), 1y (weekly)get_exchange_rate, get_historical_rates, get_rates_authenticated, list_currencies; a small surface the model uses correctly@modelcontextprotocol/sdk and zod; Node.js โฅ 18Everything these tools return is a mid-market rate โ the interbank midpoint, the right number for price display and conversion. It is not the official rate a tax authority or auditor may require; for published central-bank and tax-authority rates, see the AllRatesToday docs.
The server will not start without a valid ALLRATES_API_KEY, and all four tools require it. A free key is enough for development and personal use.
art_live_xxxxx)ALLRATES_API_KEY in the configs belowIf the key is missing, the server prints registration instructions on stderr and exits with code 1.
The simplest install is zero-install via npx, which is what every config below uses:
Both commands launch the stdio MCP server and wait for a client to connect โ they are not meant to be run interactively from your shell; your MCP client launches them as a subprocess.
Each client reads MCP servers from a different config file. Pick yours below.
The fastest path uses the built-in CLI:
Restart Claude Code, then ask: "What's the current USD to EUR rate?"
Edit ~/.cursor/mcp.json (or .cursor/mcp.json inside your project for a project-scoped server):
Restart Cursor. The four tools should appear in the MCP tool picker.
Edit the config file (path depends on OS):
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Fully quit and reopen Claude Desktop (Cmd+Q on macOS, right-click tray icon โ Exit on Windows). Closing the window alone keeps the old config loaded.
Edit ~/.codeium/windsurf/mcp_config.json with the same mcpServers block as above, then restart Windsurf.
Any MCP host that supports stdio transport works. The launch command is:
โฆwith ALLRATES_API_KEY set in the subprocess environment. The same block, ready to copy, also lives in .mcp.json in this repo; smithery.yaml describes the same stdio launch for Smithery, and server.json is the MCP registry manifest.
get_exchange_rate(source: "USD", target: "EUR") and reply with a real rate. If it produces a number without a tool call, the server is not connected.| Tool | Purpose | Required input |
|---|---|---|
get_exchange_rate | Current rate for one pair | source, target |
get_historical_rates | Time series over a preset period | source, target |
get_rates_authenticated | Multiple targets in one call, optional point-in-time | source, target |
list_currencies | All supported codes, names, symbols | โ |
All four tools require ALLRATES_API_KEY, and every input schema sets additionalProperties: false โ unknown fields are rejected.
get_exchange_rateCurrent mid-market rate between two currencies. Calls GET /rate.
| Field | Type | Required | Description |
|---|---|---|---|
source | string (exactly 3 chars) | yes | ISO 4217 code, e.g. USD |
target | string (exactly 3 chars) | yes | ISO 4217 code, e.g. EUR |
Response shape โ rate (number) and source (string, the upstream data source identifier):
get_historical_ratesTime-series data points for a currency pair over a fixed period. Calls GET /historical-rates.
| Field | Type | Required | Description |
|---|---|---|---|
source | string (exactly 3 chars) | yes | Source currency code |
target | string (exactly 3 chars) | yes | Target currency code |
period | string | no (default 7d) | One of 1d, 7d, 30d, 1y |
Granularity per period:
period | Granularity |
|---|---|
1d | Hourly |
7d | Daily |
30d | Daily |
1y | Weekly |
Response (truncated):
get_rates_authenticatedMultiple targets in one call, with an optional historical timestamp or grouping window. Calls GET /v1/rates.
| Field | Type | Required | Description |
|---|---|---|---|
source | string (exactly 3 chars) | yes | Source currency code |
target | string | yes | One or more codes, comma-separated (EUR,GBP,JPY) |
time | string (ISO 8601 date-time) | no | Historical point in time |
group | string | no | One of hour, day, week, month |
Response โ an array of { rate, source, target, time }:
list_currenciesAll supported currencies with codes, names, and symbols. Calls GET /v1/symbols, cached 24 h upstream โ cheap to call for validating user input before the other tools.
Input โ none.
Response (truncated):
Every currency the AllRatesToday API serves is available through these tools โ call list_currencies for the authoritative live list. Commonly used codes include:
๐บ๐ธ USD ยท ๐ช๐บ EUR ยท ๐ฌ๐ง GBP ยท ๐ฏ๐ต JPY ยท ๐จ๐ฆ CAD ยท ๐ฎ๐ณ INR
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/realtime-exchange-rate-mcp)<a href="https://allmcps.com/mcp/realtime-exchange-rate-mcp"><img src="https://allmcps.com/api/badge/realtime-exchange-rate-mcp?style=directory" alt="Realtime Exchange Rate MCP on AllMCPs" /></a>