Home · Setup · Claude Desktop
ECB reference rates with the rate date on every answer. It caches the European Central Bank's daily and historical euro reference rates, converts between any currencies the ECB quotes through EUR cross rates, and emits the exact fx_rates object the expense tracker needs to rebill a project in one currency.
Claude Desktop is the client people ask a quick question in, and this is the one server here where the quick question has a wrong answer if the tool is missing: the model will happily guess a rate. Installed, every answer comes back with the ECB rate date attached.
| You say | Tool |
|---|---|
| What is 4,500 EUR in USD today? | convert |
| What was the GBP rate on 30 August? | rate_on |
| Rebill Nova in USD using today's rates. | fx_rates_for then expense_to_invoice |
Counted from the published history file: the ECB series runs 1999-01-04 to 2026-09-02, 10,104 calendar days holding 7,084 dates, so 29.9% of dates carry no rate. Every answer names the rate date it actually used.
The file is claude_desktop_config.json, and the key inside it is mcpServers.
| Scope | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
{
"mcpServers": {
"currency": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-currency"]
}
}
}
If node came from nvm, asdf or homebrew, replace "npx" with the absolute path that which npx prints:
"command": "/Users/you/.nvm/versions/node/v22.14.0/bin/npx"
Save, then completely quit Claude Desktop and start it again. A window reload is not enough.
The npm publish of @theluckystrike/mcp-currency is pending; until then use the .mcpb bundle or a clone and build from the latest release.
There is no hosted endpoint for this one yet. MCP Currency Converter runs locally over stdio with the config above, which is also the only form in which it reads and writes files on your own disk. Three of the servers in this collection are served at https://mcp.zovo.one/mcp/<name> over MCP streamable HTTP: time-tracker, price-tracker and invoice.
Two documented facts decide whether the entry works: every path in claude_desktop_config.json must be absolute, and a stdio server started here inherits only a limited, platform-dependent subset of environment variables. If node came from nvm or homebrew, paste what `which npx` prints instead of the bare word. The .mcpb route avoids both: Claude Desktop ships a built-in Node.js environment.
Free: latest rates, convert, convert_many, fx_rates_for, history windows up to 90 days. Pro is $19 once, verified offline.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json. Windows: %APPDATA%\Claude\claude_desktop_config.json. There is no published Linux path. Settings, Developer, Edit Config opens the right copy and creates it if it does not exist.
In order: did you fully quit and restart, not just close the window? Is every path absolute? And is the command resolvable, given the limited environment a stdio server inherits here? If node came from nvm, paste what which npx prints.
Yes. An .mcpb bundle, the format renamed from .dxt, opens with Claude and shows an installation dialog. One you built yourself goes in through Settings, Extensions, Advanced settings, Install Extension.
MCP Currency Converter in detail · The same server in Cline and Claude Code · Every server in Claude Desktop · Guides · Claude Desktop docs