Start with the honest recommendation, because this small question already has a good answer. If all
you want is a plain "convert this to dollars", install currency-conversion-mcp by wesbos, at
github.com/wesbos/currency-conversion-mcp. It reads the Frankfurter API, which serves European
Central Bank reference rates, it needs no API key, and it covers more than thirty currencies with history
back to 1999. It installs with npx today. Nothing here beats it at that job.
A blind search recorded in this repository on 2026-09-10 could name two servers for this question, that one and exchange-rate-mcp by boy-373. So the field is small but it is not empty, and the incumbent is good.
The reason to want a second one is rebilling. When you invoice a client in a currency you did not spend in, the number you need is not today's rate. It is the rate on the date of the expense, applied to the expense, and stated on the invoice so the client can check it. Ask a plain converter for that and you get a spot rate for now, which is the wrong figure and a very easy one to put on a document without noticing.
The second reason is auditability. A rate that arrives as a number in a chat message cannot be checked six months later. A rate that arrives with its date and its source can.
It registers 8 tools over stdio, plus the two shared licence tools:
rates_latest, convert, convert_many, fx_rates_for, rate_history, rate_on, currencies_list, cache_status.
rate_on answers a dated question, and fx_rates_for is the one built for
rebilling: it returns the rates a set of expenses needs, keyed to the dates those expenses happened, in the
shape the invoice and expense servers here consume. convert_many does a batch in one call
rather than one call per line, which matters if you are converting a month of receipts.
Rates are European Central Bank reference rates, the same source the wesbos server reads, so the two
should agree on any date the ECB published. They are cached, and cache_status tells you how
old the cached set is rather than leaving you to guess.
One click, no JSON. Download currency.mcpb from the
latest release and open it in Claude Desktop. It runs on the
Node runtime Claude Desktop ships with, so your own PATH and node version never come into it.
Or a URL, with nothing installed. /mcp/connect mints a free anonymous token and prints the ready line:
claude mcp add --transport http currency https://mcp.zovo.one/mcp/currency/t/<token>
Or from a clone, for a client with no bundle installer. Build once, then point the client at the built file:
git clone https://github.com/theluckystrike/mcp-servers.git
cd mcp-servers && npm install
npm run build -w packages/mcp-license -w servers/currency
claude mcp add --scope user currency -- node /absolute/path/to/mcp-servers/servers/currency/dist/index.js
Claude Desktop, Cursor, Windsurf and Cline take the same two strings as JSON, in
claude_desktop_config.json or the client's own MCP config file:
{
"mcpServers": {
"currency": {
"command": "node",
"args": ["/absolute/path/to/mcp-servers/servers/currency/dist/index.js"]
}
}
}
The npm packages are not published yet, so the npx form below returns a 404 today. It is
kept because it is what that config becomes the day the publish lands, with nothing else changed;
installing these servers when npx does not work yet
has the whole picture.
claude mcp add currency -- npx -y @theluckystrike/mcp-currency
npx -y starts it today, and the packages here are not published yet, so
installing this one means a bundle, a clone or a hosted URL.Free tier, verbatim from data/facts.json: Latest rates, convert, convert_many, fx_rates_for, history up to 90 days (a wider window is shortened and answered, not refused).
Pro is $19 once, or $39 for all 33 servers. Buying this one alone is hard to justify against a free npm package; it earns its place next to the expense and invoice servers, not on its own.
currency-conversion-mcp by wesbos. It reads the same European Central Bank rates, needs no key, and installs with npx today. There is no reason to prefer this one for that job.
Rebilling. It returns the rates a set of expenses needs, keyed to the date each expense happened, in the shape the expense and invoice servers here consume. A spot rate for today is the wrong number for an expense from three weeks ago.
European Central Bank reference rates, published once per working day. The same source the wesbos server reads through Frankfurter, so the two should agree for any date the ECB published.
Only from cache. It is the one server here that makes a network call in normal use, so a fully offline machine gets whatever was cached and cache_status tells you how old that is.
Ninety days. A wider request is shortened and answered rather than refused, so you get a result plus a note about the window instead of an error.
All MCP servers and prices · All guides · Buy the bundle $39