AllRatesToday exchange rates (hosted)

com.allratestoday由 allratestoday.com 发布官方发布者v1.0.0更新于 Oct 24, 2026

Live FX + official central-bank rates, 110+ sources. Hosted, keyless, nothing to install.

已验证Streamable HTTP可网页运行金融数据与分析

概览

AI 生成的概览

托管型 MCP 服务器,让助手获取实时中间价汇率、历史序列以及来自 110+ 个来源的央行官方汇率。

可以做什么
  • 在货币之间换算,获取单一货币对或多个目标货币的当前与历史汇率
  • 列出支持的 ISO 4217 货币,以及覆盖的央行和税务机关
  • 获取指定机构发布的官方汇率表,以及逐日的官方汇率序列
  • 将同一货币对在所有覆盖机构间对比,并查询某家银行的发布日期
  • 获取每日一次的参考汇率,并自助签发短期试用 API 密钥
适用场景
适合助手需要回答货币换算问题、为开票、税务或审计引用可查证的官方汇率,或为报告与研究构建可复现的每日汇率序列时使用。
运行要求
远程 Streamable HTTP 端点,无需安装。无密钥时以受限的无密钥模式运行。可选 API 密钥通过 Authorization Bearer 请求头发送(或使用 api_key 查询参数)。历史序列、指定时点查询和带日期的官方汇率表需要付费方案。
安装前请注意
Authorization 密钥属于凭据:优先使用请求头而非放入 URL,后者可能被客户端配置、日志和截图泄露,泄露后应轮换。无密钥使用需展示指向服务方的可见署名链接。免费额度不会重置,历史与带日期查询需要付费订阅。中间价汇率不适用于税务或审计所需的官方汇率。

安装

在 SourceWeft 中

  1. 打开 控制台中的 AllRatesToday exchange rates (hosted),将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.allratestoday%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "allratestoday-exchange-rates-hosted": {
      "type": "http",
      "url": "https://allratestoday.com/api/mcp"
    }
  }
}

README

AllRatesToday MCP Server — @allratestoday/mcp-server

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

[npm version] [npm downloads] [license] [MCP] [TypeScript]

English | 简体中文

Give your AI assistant a live window into the foreign-exchange market. A Model Context Protocol server that lets Claude Code, Cursor, Claude Desktop, Windsurf, and any MCP-compatible client fetch real-time currency rates, historical series, and multi-currency lookups from the AllRatesToday API.

After installation, your assistant can answer questions like:

  • "What's the current USD to EUR rate?"
  • "Show me how GBP/JPY moved over the last 30 days."
  • "Convert 250 USD into CAD at a real rate."
  • "Compare USD against EUR, GBP, and JPY simultaneously."

🚀 Why this server?

  • 📡 Live mid-market rates — 160+ ISO 4217 currencies, refreshed every ~60 seconds
  • 📈 Historical series built in — 1d / 7d / 30d / 1y windows with sensible granularity per period
  • 🧰 Eight focused tools — get_exchange_rate, get_historical_rates, get_rates_authenticated, list_currencies, list_central_banks, get_official_rates, get_reference_rate, request_trial_key; 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
  • 🔓 Works with no API key — installs and answers out of the box from open official central-bank tables (ECB first, else the bank that issues one of the two currencies); a free key unlocks real-time rates for 160+ currencies
  • 🛡️ Honest about what it returned — every keyless answer says which rate it is and when it was published; API errors map to clear, actionable messages
  • 🔒 Nothing leaks — only the request parameters and your API key ever reach allratestoday.com; never conversation context

⚖️ Mid-market vs official central-bank rates

With a key, get_exchange_rate, get_historical_rates and get_rates_authenticated return a mid-market rate, refreshed every ~60 seconds — the right number for price display, conversion, and anything that should track the market. It is not the official rate a tax authority or auditor may require. For those, call get_official_rates: the latest table published by any of 122 central banks and 4 tax authorities (ECB, Fed, HMRC, US Treasury, Swiss BAZG, …), fixed once published and carrying the institution's own rate_date, no key needed. list_central_banks gives the codes. Dated official tables (a past date) need an API key on a paid plan — a free key gets 403 Historical central bank rates require a paid plan. Mid-market history (get_historical_rates, and time on get_rates_authenticated) is paid-plan too — free and trial keys get 403. See the central bank REST API and per-bank npm SDKs. The two can diverge by several percent, so pick by use case, not convenience.

🔑 Get your API key (free)

A key unlocks real-time mid-market rates across 160+ currencies and multi-target lookups. The free tier is enough for development and trying it out — no credit card required. Historical series, point-in-time lookups and dated official and reference-rate tables need a paid plan from €4.99/month.

  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:

ToolKeylessWhat you get
get_exchange_rate✅An official central-bank rate: the ECB reference table first, else the central bank that issues the target or source currency (USD/GBP → Bank of England, USD/INR → Reserve Bank of India). The response carries bank, rate_date, derived and a note saying so, so the assistant never passes it off as a live quote. Only pairs one bank publishes, or their inverses (flagged derived: true), work keyless; other crosses are refused with a pointer to the key.
list_currencies✅All 160+ supported ISO 4217 codes.
list_central_banks✅Codes, names and latest publication date of all 122 central banks and 4 tax authorities.
get_official_rates✅Latest official table (or one pair) published by any of them. A dated table needs a paid-plan key.
get_reference_rate✅The Daily Reference Rate: one never-revised table per business day, fixed at 16:00 London. A past date needs a paid-plan key.
request_trial_key✅Self-issues a 100-call, 7-day key with no account and adopts it for the session.
get_historical_rates🔑Returns one sentence explaining how to get a key. Needs a paid plan.
get_rates_authenticated🔑Same.

The keyless path reads the open, edge-cached /api/open/central-bank/{bank} endpoints — no upstream cost, no rate limit to trip over, nothing to sign up for.

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.

html
<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 tools also run as a hosted Streamable HTTP MCP server, which lists 11 tools: the 8 of this stdio package plus get_official_rate_history, compare_official_rates and get_publication_calendar from the sibling central-bank server. 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
bash
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_…. That puts the key in the URL, where client configs, logs and screenshots can expose it: prefer the header when your client supports it, never share or commit that URL, and rotate the key at https://allratestoday.com/profile if it leaks. Registry name: com.allratestoday/mcp. One-click Cursor / VS Code buttons: https://allratestoday.com/mcp/#hosted

📦 Installation

The simplest install is zero-install via npx, which is what every config below uses:

bash
# Run without installing (recommended)npx -y @allratestoday/mcp-server
bash
# Or install globallynpm install -g @allratestoday/mcp-serverallratestoday-mcp

Both commands launch the stdio MCP server and wait for a client to connect — they're not meant to be run interactively from your shell; your MCP client launches them as a subprocess.

🏁 Quick setup per client

Each client reads MCP servers from a different config file. Pick yours below.

Claude Code

The fastest path uses the built-in CLI:

bash
claude mcp add allratestoday -- npx -y @allratestoday/mcp-serverclaude mcp env allratestoday ALLRATES_API_KEY=art_live_xxxxx

Restart Claude Code. Verify by asking it: "What's the current USD to EUR rate?"

Cursor

Edit ~/.cursor/mcp.json (or .cursor/mcp.json inside your project for project-scoped servers):

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

Restart Cursor. The eight tools should appear in the MCP tool picker.

Claude Desktop

Edit the config file (path depends on OS):

OSPath
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
json
{  "mcpServers": {    "allratestoday": {      "command": "npx",      "args": ["-y", "@allratestoday/mcp-server"],      "env": {        "ALLRATES_API_KEY": "art_live_xxxxx"      }    }  }}

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.

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json with the same mcpServers block as above, then restart Windsurf.

Generic stdio MCP client

Any MCP host that supports stdio transport works. The launch command is:

npx -y @allratestoday/mcp-server

…with the environment variable ALLRATES_API_KEY set. The protocol version is MCP 1.x.

✅ Verify it works

After configuring your client, test in this order:

  1. Server starts — open the client. The server starts with or without a key (no key ⇒ keyless mode), so a red dot or "failed to connect" means the client could not launch it — usually npx or Node ≥18 (see Troubleshooting below). A wrong key does not stop it starting; calls then return Invalid AllRatesToday API key.
  2. Tools are listed — most clients have a "tools" or "MCP" panel showing the eight tools.
  3. A live call returns a number — ask: "What's the current USD to EUR rate?" The assistant should call get_exchange_rate(source: "USD", target: "EUR") and reply with a real rate. If it fabricates a number without a tool call, the server isn't connected.

More prompts that exercise the other tools:

  • "What was the ECB's official USD rate on the latest published table?" → get_official_rates
  • "Give me today's 16:00 London reference rate for EUR, GBP and JPY." → get_reference_rate
  • "Which central banks can you get official rates from?" → list_central_banks
  • "Convert 250 USD to CAD." → get_exchange_rate

🧪 Test with MCP Inspector

To check the server on its own, without any AI client in the way, run it under the official MCP Inspector:

bash
npx @modelcontextprotocol/inspector npx -y @allratestoday/mcp-server
  1. Open the URL it prints and click Connect. The Tools tab should list the eight tools.
  2. Call get_exchange_rate with source: USD, target: EUR — it answers keyless with an official rate.
  3. Set ALLRATES_API_KEY in the Inspector's environment panel, reconnect, and call it again — now it returns the live mid-market rate.

If this works but your client doesn't, the problem is the client's config (path to npx, Node version, JSON syntax), not the server.

📚 Tools reference

get_historical_rates and get_rates_authenticated require ALLRATES_API_KEY; the other six of the eight work keyless. History (get_historical_rates, and time on get_rates_authenticated) needs a paid plan.


get_exchange_rate

Current mid-market rate between two currencies.

Input

FieldTypeRequiredDescription
sourcestringyes3-letter ISO 4217 code, e.g. USD
targetstringyes3-letter ISO 4217 code, e.g. EUR

Example call

json
{ "source": "USD", "target": "EUR" }

Response (with a key):

json
{ "rate": 0.888889, "source": "mid-market" }

Response (keyless — USD → GBP, not in the ECB table, so the Bank of England table answers):

json
{  "rate": 0.7598784195,  "source": "Bank of England official rate (keyless mode)",  "bank": "boe",  "rate_date": "2026-10-14",  "derived": true,  "note": "Keyless mode: this is the Bank of England official rate published on 2026-10-14, not a live mid-market quote. For real-time rates across 160+ currencies set ALLRATES_API_KEY — free tier at https://allratestoday.com/register."}

derived: true means the bank publishes the inverse (GBP→USD) and the rate was inverted. A pair no single bank publishes is refused keyless with No keyless official source covers … and a pointer to the key.

get_historical_rates

Time-series data points for a currency pair over a fixed period. Needs an API key on a paid plan (free and trial keys get a 403).

Input

FieldTypeRequiredDescription
sourcestringyesSource currency code
targetstringyesTarget currency code
periodstringno (default 7d)One of 1d, 7d, 30d, 1y

Granularity by period

periodData points
1dHourly (24 points)
7dDaily (7 points)
30dDaily (30 points)
1yWeekly (52 points)

Example call

json
{ "source": "USD", "target": "INR", "period": "30d" }

Response (truncated):

json
{  "source": "USD",  "target": "INR",  "period": "30d",  "data": [    { "date": "2026-09-17", "rate": 96.1006, "timestamp": 1789603200000 },    { "date": "2026-09-18", "rate": 95.8142, "timestamp": 1789689600000 },    "...",    { "date": "2026-10-16", "rate": 94.9643, "timestamp": 1792108800000 }  ]}

get_rates_authenticated

Multiple targets in one call, with optional historical timestamp or grouping window.

Input

FieldTypeRequiredDescription
sourcestringyesSource currency code
targetstringyesOne or more codes, comma-separated (EUR,GBP,JPY)
timestring (ISO 8601)noHistorical point in time (paid plans)
groupstringnoOne of hour, day, week, month

Example call

json
{ "source": "USD", "target": "EUR,GBP,JPY" }

Response:

json
{  "rates": [    { "rate": 0.888889, "source": "USD", "target": "EUR", "time": "2026-10-16T12:16:01+0000" },    { "rate": 0.749766, "source": "USD", "target": "GBP", "time": "2026-10-16T12:16:01+0000" },    { "rate": 157.985, "source": "USD", "target": "JPY", "time": "2026-10-16T12:16:01+0000" }  ]}

list_currencies

All supported currencies with codes, names, and symbols. Cached upstream for 24 hours — cheap to call for validating user input before the other tools.

Input — none.

Response (truncated):

json
{  "currencies": [    { "code": "USD", "name": "US Dollar", "symbol": "$" },    { "code": "EUR", "name": "Euro", "symbol": "€" },    { "code": "GBP", "name": "British Pound", "symbol": "£" },    "..."  ],  "count": 163}

list_central_banks

Every official source the server can quote — 122 central banks plus HMRC, the US Treasury, Swiss BAZG and India's CBIC — with the code that get_official_rates takes as bank, the institution's name, its latest publication date, age_days, its publication cadence and a stale flag when it is behind its own schedule. Keyless.

Input — none.

Response (truncated):

json
{  "sources": [    { "code": "ecb", "name": "European Central Bank", "latest": "2026-10-15", "age_days": 1, "stale": false, "cadence": "daily" },    { "code": "fed", "name": "US Federal Reserve (H.10)", "latest": "2026-10-09", "age_days": 7, "stale": false, "cadence": "weekly" },    "..."  ],  "stale_count": 3,  "checked_at": "2026-10-16T12:16:46.232Z"}

get_official_rates

The fixed, citable rate an institution published — for invoices, VAT and tax returns, customs, transfer pricing and audit. Not a live market rate.

Input:

FieldTypeRequiredDescription
bankstringyesSource code from list_central_banks, e.g. ecb, fed, boe, rbi, hmrc
datestringnoYYYY-MM-DD. Omit for the latest table (keyless). Needs an API key on a paid plan — a free key gets 403 Historical central bank rates require a paid plan. Weekends/holidays roll back to the last published date.
sourcestringnoWith target, narrows to one pair
targetstringnoWith source, narrows to one pair

Response (one pair):

json
{  "bank": "ecb",  "rate_date": "2026-10-15",  "source": "EUR",  "target": "USD",  "rate": 1.1208,  "rate_type": "reference",  "derived": false,  "method": "published",  "age_days": 1,  "stale": false,  "cadence": "daily",  "attribution": { "source": "Official rates published by ECB, served by AllRatesToday", "url": "https://allratestoday.com/central-bank-rates-api/ecb/", "terms": "Free to use with visible attribution linking to allratestoday.com" }}

Omit source/target for the whole table as rates: [{ base, quote, type, value }]. Keyless, only pairs the bank publishes and their inverses (flagged derived: true) are served; other crosses are refused. With a key, pairs the bank does not publish directly are cross-computed inside its own table and flagged derived: true. Always cite rate_date.


get_reference_rate

AllRatesToday's Daily Reference Rate: the per-currency median of samples taken in a five-minute window centred on 16:00 London, published once per business day and never revised. Use it when a report, index or research series needs one reproducible rate per day. It is not the WM/Refinitiv fix and not a registered benchmark; every response carries a disclaimer and the rate_date.

Input

FieldTypeRequiredDescription
sourcestringnoWith target, narrows to one pair (crossed via USD, flagged derived)
targetstringnoSee above
datestringnoPast business day YYYY-MM-DD (API key on a paid plan). Omit for the latest table

Output — { rate_date, base, time, rates } for the table, or { rate_date, source, target, rate, derived } for a pair, plus method and disclaimer. Keyless for the latest table. Docs: https://allratestoday.com/reference-rate/


request_trial_key

Self-issues an API key with 100 lifetime calls, valid 7 days, with no account and no email, and switches this server to it for the rest of the session. The reply tells the user to copy the key into the MCP config as ALLRATES_API_KEY to keep it across restarts. Capped at 3 keys per IP per day.

Input — agent (string, optional), purpose (string, optional).

Output — { key, calls, expires_at, adopted, note }.


⚙️ Environment variables

VariableDefaultRequiredPurpose
ALLRATES_API_KEY—noYour API key, sent as Authorization: Bearer. Unset ⇒ keyless mode (see above); set ⇒ real-time rates and multi-target lookups (the historical tools need a paid-plan key).
ALLRATES_BASE_URLhttps://allratestoday.com/apinoOverride for self-hosted or staging deployments.

Set these in your MCP client's config (in the env block) — not in your shell — because MCP servers are launched as subprocesses with isolated environments.

💳 Plans

A free tier and paid plans are available — see allratestoday.com/pricing for current quotas. The free tier covers real-time rates and multi-target lookups. All history and dated rates — mid-market history, point-in-time lookups, dated official and reference-rate tables — need a paid plan (free and trial keys get 403 historical_requires_paid_plan). The Official Rates plan covers official central-bank and tax-authority rates only (no market rates).

🛠️ Troubleshooting

SymptomLikely causeFix
Client shows "MCP server failed to start" or red dotNot a missing key — 0.5.0+ starts fine without one. Usually npx cannot reach the registry, or Node is older than 18Run npx -y @allratestoday/mcp-server in a shell and read stderr
Rates look like yesterday's, response mentions "keyless mode"No key set, so answers come from an official central-bank table (see bank and rate_date)Set ALLRATES_API_KEY for real-time mid-market rates
No keyless official source covers X/YKeyless mode, and no single central bank publishes that pair or its inverseSet ALLRATES_API_KEY (free)
HTTP 403 — Historical rates require a paid planget_historical_rates, or time on get_rates_authenticated, on a free or trial keyUpgrade at /pricing — history is paid-only
HTTP 403 — Historical central bank rates require a paid plandate given to get_official_rates / get_reference_rate on a free keyOmit date for the latest table, or upgrade at /pricing
Every call returns "Invalid AllRatesToday API key"Key is malformed (missing prefix, truncated, or revoked)Copy a fresh key from the dashboard
Tools return "AllRatesToday API quota exceeded"Quota used up — the free tier does not reset; paid plans are monthlyUpgrade at /pricing
Historical tool returns "Bad request"Invalid period or unknown currency codePeriod must be 1d/7d/30d/1y; codes must be 3 letters
Server starts but tools never appearClient didn't reload after config changeFully quit (not just close) and reopen the client
npx runs but hangs foreverThe server is waiting for an MCP client to connect — normal when run from a shellLet your MCP client launch it

To inspect what the server is doing, run it manually with the key set:

bash
ALLRATES_API_KEY=art_live_xxxxx npx -y @allratestoday/mcp-server

No output means healthy (stdio is reserved for the MCP protocol); errors print to stderr.

🛡️ Error reference

The server maps API errors to clear, actionable messages the assistant can relay to the user:

HTTP statusMeaningTool error message
200Success(rate returned)
400Bad request — usually unknown currency codeBad request — possibly an unknown currency code
401Invalid API key (a missing key does not cause this — the server runs keyless)Invalid AllRatesToday API key
403Plan does not include it (e.g. a dated official table on a free key)HTTP 403 — <upstream message>
404 (keyless)No keyless official source covers the pairNo keyless official source covers X/Y. …
429Quota exceededAllRatesToday API quota exceeded
5xxServer-side issue at allratestoday.comHTTP 5xx — <upstream message>

❓ FAQ

Is the free plan really enough for normal use? For trying it out and light dev use. It does not reset monthly; regular use or production needs a paid tier. Keyless mode costs nothing and has no quota.

Do you store my conversation or query data? No. Only your API key and the request parameters (source, target, period, time) are sent to allratestoday.com — never the LLM's conversation context.

What happens to my API key? It's only sent as a Bearer token in the Authorization header on requests to the AllRatesToday API. It's never logged or transmitted elsewhere.

Why is my first call slow? Cold-start of npx (first run downloads the package) plus the initial cache miss. Subsequent calls are typically <200ms.

Can I run this without npm/Node? Not currently — Node ≥18 is required. If a standalone binary matters to you, open an issue.

Is there a self-hosted option? Set ALLRATES_BASE_URL to your own AllRatesToday instance. Contact [email protected] for self-hosted licensing.

Does this work with ChatGPT? Yes, through the hosted endpoint: add https://allratestoday.com/api/mcp as a connector (custom MCP / remote server) in ChatGPT. This npm package is the local stdio server, for clients that launch a command — Claude Code, Cursor, Claude Desktop, Windsurf.

👩‍💻 Development

bash
git clone https://github.com/AllRates-Today/mcp-server.gitcd mcp-servernpm installnpm run buildALLRATES_API_KEY=art_live_xxxxx node dist/index.js

The server runs on stdio and waits for an MCP client to connect; Ctrl+C to exit. npm run dev watches and rebuilds. To test against a local AllRatesToday instance:

bash
ALLRATES_BASE_URL=http://localhost:8080/api ALLRATES_API_KEY=test_key node dist/index.js

Project structure

src/├── index.ts      # MCP server, tool registration, request handlers├── client.ts     # HTTP client for AllRatesToday API + error mapping└── home-banks.ts # currency → issuing central bank, for the keyless get_exchange_rate fallbackdist/             # Compiled JS (gitignored)server.json       # MCP registry manifest

Contributing — issues and PRs welcome at github.com/AllRates-Today/mcp-server. Before opening a PR: npm run build must succeed, test against a real API key, and update the tool descriptions in src/index.ts plus this README's tools reference if you change tool behavior.

📝 Changelog

Recent changes. Full history: GitHub Releases.

  • 0.7.9 — README: changelog trimmed to the 0.7.x line
  • 0.7.8 — README: MCP Inspector test guide, example prompts for every tool, hosted ?api_key= security note, ChatGPT FAQ and 401 row corrected, history consistently paid-plan
  • 0.7.6 — Keyless get_rates_authenticated with time now says a paid plan is needed; README: free tier no longer listed as covering history, source example is mid-market
  • 0.7.4 — Keyless get_exchange_rate falls back from the ECB table to the central bank that issues the target or source currency (USD/GBP, GBP/JPY, USD/INR now answer keyless), same as the hosted endpoint; response adds bank. Dated-table errors say a paid plan is needed. README: real response shapes, tool counts, lifetime free tier
  • 0.7.0 — get_reference_rate (Daily Reference Rate, 16:00 London, keyless latest table) and request_trial_key (self-issued 100-call trial key adopted for the session)

🔗 Links

📜 License

MIT — see LICENSE.

来源:README.md,提交 933351b

工具

11

get_exchange_rate

Get live exchange rate

Use this when the user asks 'what is X in Y?', 'convert X to Y', 'current rate of EUR/USD', or any single fiat-to-fiat exchange rate question. Returns { rate, source } meaning 1 source = rate target. Without an API key it answers from the official ECB daily reference table (~30 majors) and says so in `note` — relay the `rate_date`. With a key it is the real-time mid-market rate for 160+ currencies. For several targets at once use get_rates_authenticated; for a time series use get_historical_rates; for a specific institution's official rate use get_official_rates.

输入参数source必填target必填

get_historical_rates

Get historical rate time-series

Fixed-window time series ending now: 'how has EUR/USD moved this week', 'last month of GBP/JPY', '1-year AUD/USD'. Returns { source, target, period, data: [{ date, rate, timestamp }] }. Sampling: 1d=hourly, 7d/30d=daily, 1y=weekly. Requires an API key on a paid plan; free and trial keys get a 403. For a specific past datetime use get_rates_authenticated with `time`.

输入参数periodsource必填target必填

get_rates_authenticated

Get multi-target or point-in-time rates

One source against several targets in a single call ('USD vs EUR, GBP, JPY'), or the rate at a specific past datetime, optionally bucketed by hour/day/week/month. Returns { rates: [{ rate, source, target, time }] }. Requires an API key (free tier for latest rates; a past datetime needs a paid plan).

输入参数timegroupsource必填target必填

list_currencies

List supported currencies

Call this when unsure whether a currency code is supported, or for 'what currencies do you support?' / 'what is the symbol for X?'. Returns { currencies: [{ code, name, symbol }], count } for 150+ ISO 4217 fiat currencies. No API key needed; cheap to call.

无需输入参数。

list_central_banks

List covered central banks & tax authorities

Call this FIRST when you need a bank code, or for 'which central banks do you cover?' / 'do you have rates from X?'. Returns every covered source — 122 central banks plus 4 tax authorities (HMRC, US Treasury, Swiss BAZG, India's CBIC) — with `code` (what every other official-rates tool takes as `bank`), name, latest publication date and whether it is behind schedule. No API key needed.

无需输入参数。

get_official_rates

Get a bank's official published rates

OFFICIAL rates a named institution published — 'what is the ECB rate for USD?', 'Bank of Japan rate on 2026-03-14', 'HMRC rate for invoicing'. These are the fixed, citable rates for compliance, tax, customs and accounting — NOT live market rates. Omit `date` for the newest published table (no API key needed); give `date` (API key, paid plan) for the table in force that day — weekends/holidays roll back to the last published date and the response's `rate_date` says which. Omit source/target for the full table; give both for one pair — cross-computed inside the bank's own table when not directly published, flagged `derived`. Always cite the returned `rate_date`.

输入参数bank必填datesourcetarget

get_official_rate_history

Get a bank's official rate history

Date-by-date series of one bank's OFFICIAL rates — 'ECB USD rate for every day of 2025', 'how did the CBSL rate move last quarter'. Returns { series: [{ date, rate, rate_type, derived, method }] }. Give either `symbol` (vs the bank's home currency) or a source+target pair; from/to default to the last year. API key with a paid plan, BILLED BY VOLUME: one call per month of history covered — keep ranges narrow. For publication dates without values use get_publication_calendar.

输入参数tobank必填fromsourcesymboltarget

compare_official_rates

Compare one pair across every bank

One currency pair across ALL institutions at once — 'what does each central bank say USD/EUR is?', 'spread between official USD/LKR rates'. Returns every covered bank's latest official rate for the pair plus { min, max, median, spread_bps } over fresh sources. Banks are never mixed: derived rates are cross-computed within each bank's own table. API key required (free tier). Methodology: https://allratestoday.com/official-rates-methodology/

输入参数source必填target必填

get_publication_calendar

Get a bank's publication calendar

Which dates a bank actually published a rate table — 'did the ECB publish on 2026-01-01?', 'how often does the US Treasury publish?'. Dates only, no values, so it is on every plan (API key required, free tier). Give `year` or a from/to range; large ranges are capped and flagged `truncated`.

输入参数tobank必填fromyear

get_reference_rate

Get the Daily Reference Rate (16:00 London)

AllRatesToday's once-a-day, never-revised mid-market rate: the per-currency median of five samples in a five-minute window centred on 16:00 London, published each business day. Use it when the user needs ONE reproducible rate per day — index levels, return series, research datasets, month-end reports — rather than a live quote (get_exchange_rate) or an institution's official rate (get_official_rates). Keyless: returns the latest table, or one pair with source/target (cross via USD, flagged derived). With a key, `date` returns the table for a past business day. Not the WM/Refinitiv fix and not a registered benchmark — relay the disclaimer and the rate_date.

输入参数datesourcetarget

request_trial_key

Request a trial API key

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 real-time rates, history, dated central-bank tables or cross-bank comparison right now. The key is returned once — store it, then reconnect to https://allratestoday.com/api/mcp?api_key=<key> (or send `Authorization: Bearer <key>`); this stateless server cannot adopt the key mid-session. 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.

输入参数agentpurpose

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Allratestoday 集成