McpStamp Currency Converter

io.github.theluckystrikePublished by GitHub account theluckystrikev0.23.0Updated Nov 3, 2026

Convert amounts on European Central Bank daily reference rates, today or on a past date.

The publisher's own server: daily.dev

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

McpStamp Currency Converter's hosted MCP server (mcp.zovo.one); no sign-in required; Streamable HTTP; 10 tools.

No AI overview yet: these facts come from the registry entry and the server itself.

Endpoint
mcp.zovo.one
Last checked

Installation

In SourceWeft

  1. Open McpStamp Currency Converter in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.theluckystrike%2Fcurrency-converter-ecb-rates-daily-keyless/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "mcpstamp-currency-converter": {
      "type": "http",
      "url": "https://mcp.zovo.one/mcp/currency"
    }
  }
}

README

mcp-currency

Ask your assistant what something is worth in another currency and get a real answer with a date on it. It reads the European Central Bank's daily euro foreign exchange reference rates, the same published series banks, tax authorities and accountants use, converts amounts between any of the currencies the ECB quotes, and shows how a pair has moved over time. There is no API key, no account and no rate limit, because the ECB publishes the file openly. Both files are cached on your own machine, so after the first download every answer is instant and the server keeps working on a plane. Every answer states which rate date it used, because ECB rates are published once a day and a Sunday carries Friday's rate.

Built by theluckystrike.

In the official MCP Registry (io.github.theluckystrike/currency-converter-ecb-rates-daily-keyless).

Listed on the AI Product Index - live remote endpoint at mcp.zovo.one/s/currency, free tier, no signup.

[currency demo]

60-second install

npm publish for @theluckystrike/mcp-currency is pending. Until then, the .mcpb one-click bundle or a clone+build is the working path, both are verified below.

One-click (.mcpb): download currency.mcpb from the latest release and double-click it in Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest

(claude_desktop_config.json):

json
{  "mcpServers": {    "currency": {      "command": "npx",      "args": ["-y", "@theluckystrike/mcp-currency"]    }  }}

Claude Code:

sh
claude mcp add currency -- npx -y @theluckystrike/mcp-currency

(.cursor/mcp.json):

json
{  "mcpServers": {    "currency": {      "command": "npx",      "args": ["-y", "@theluckystrike/mcp-currency"]    }  }}

The npx form above starts working the moment the package is published. Until then, use the .mcpb bundle above, or build from source with exactly these three commands:

sh
git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-serversnpm installnpm run build -w packages/mcp-license -w servers/currency

Then point your client's command at node with one arg: the absolute path to servers/currency/dist/index.js.

To run in Pro mode set MCP_LICENSE_KEY in the same config block, or call license_activate once with your key.

Tools

ToolWhat it does
rates_latestThe latest ECB reference rates, re-expressed against any base. Optional quotes to narrow the list.
convertConvert an amount between two currencies, today or on a past date. States the rate, the rate date and the rounding.
convert_manyOne amount into several currencies at once, all off the same rate date.
fx_rates_forReturns the fx_rates object the expense tracker's expense_to_invoice takes, plus the rate date.
rate_historyA pair over a window, with min, max, average and the change across it.
rate_onThe rate on one date, falling back to the last published rate on or before it and saying so. Both directions are returned (rate and inverse_rate) and published_direction names which way round the ECB itself quotes the pair, so the reciprocal is never relayed as the published figure.
currencies_listEvery currency the ECB quotes, with its euro rate and its number of decimal places.
cache_statusWhat is cached, how old it is, when it refreshes next, and where it lives.
license_status / license_activateCheck or activate a Pro key. Verified offline.

Resource fx://latest exposes the cached rates as JSON. Prompt convert_invoice_lines walks the whole expense-tracker -> currency -> invoice chain in one step.

Free vs Pro

FreePro ($19 one-time)
Latest rates, convert, convert_many, fx_rates_forYes, unlimitedYes, unlimited
CurrenciesAll 30+ the ECB quotesAll 30+ the ECB quotes
Rate historyUp to 90 days per call, back 90 days; a wider window is shortened and answered, cap namedUnlimited windows, back to 1999-01-04
rate_onLast 90 daysAny date since 1999-01-04
Offline cacheYesYes

A refused history window returns the reason and the exact narrower call to make; it never silently truncates a table and it never returns a transport error.

Get Pro: https://mcp.zovo.one/buy/currency (or $39 for the whole bundle: https://mcp.zovo.one/buy/bundle)

Pairs with

  • expense-tracker, expense_to_invoice takes target_currency plus an fx_rates object and folds a multi-currency expense set into one invoice currency, but it will not fetch or invent a rate. fx_rates_for {target, currencies} here returns exactly that object. "Rebill Nova in USD" then works end to end without the user typing a single exchange rate.
  • invoice, one invoice carries one currency. Convert first, issue second, and put the returned invoice_note ("Converted at ECB reference rates of 2026-09-02") on the document so the client can check it.
expense_to_invoice {project, from, to}          -> which currencies are actually presentfx_rates_for {target: "USD", currencies: [...]} -> {"EUR": 1.0812, "GBP": 1.2717}, rate dateexpense_to_invoice {..., target_currency: "USD", fx_rates: {...}} -> one currency, every line annotatedinvoice_create {currency: "USD", items: [...]}  -> the document

How the rates work

  • Source: the ECB euro foreign exchange reference rates, eurofxref-daily.xml and eurofxref-hist.xml.
  • Published around 16:00 CET on TARGET business days. There is no rate for a weekend, 1 January, Good Friday, Easter Monday, 1 May, or 25 and 26 December.
  • Asking for a date with no rate returns the last rate published on or before it, the convention every bank uses, and the answer says which date it landed on and why. A date inside the cached range with no rate is a weekend or a TARGET holiday and is named as one; a date after the newest day in the cache is reported as not published yet, with the cache's latest date and whether this call went to the ECB to look for it.
  • The ECB quotes everything against the euro, so a USD/PLN rate is a cross rate: the ratio is formed and multiplied at full precision, and the only rounding in the path is the last one, to the target currency's minor units. The answer carries both numbers: rate_exact is the multiplier, rate is the same rate rounded to 6 decimals for reading. Recomputing by hand from the 6-decimal rate can differ by a minor unit or two; it is far out for pairs whose rate is nowhere near 1 (1,000,000 VND is KWD 11.667, not KWD 12.000).
  • Results are rounded to the target currency's own ISO 4217 minor units: JPY comes back whole, BHD to three places.
  • These are reference rates for accounting and reporting. They are not dealing rates; your bank's rate will differ.

Privacy

All data stays local. The only network request this server makes is to www.ecb.europa.eu for the two public rate files, and only when the local copy is older than 6 hours (daily) or 24 hours (history). Nothing about your amounts, your currencies or your machine is sent anywhere. The cache lives in ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/currency/; delete that directory to reset the server. Set ECB_BASE_URL to point at your own mirror if outbound access is restricted.

MIT licensed. Support: [email protected]. Built by theluckystrike.

Use these docs as an MCP server

Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install:

Source: servers/currency/README.md at commit 6535b33

Tools

10

rates_latest

Latest ECB reference rates

Call this tool for the latest ECB daily reference rates against any base: 1.0812 for USD means 1 base = 1.0812 USD. Crosses go through the euro. Returns the ECB rate date and the cache age.

Parametersbasequotes

convert

Convert an amount

Call this tool to convert an amount between any two ECB-quoted currencies, today or on a past date. Returns the converted amount, the cross rate to 6 decimals, the rounding applied and the rate date used.

Parameterstodatefromrequiredamountrequired

convert_many

Convert one amount into several currencies

Convert one amount into many currencies off the SAME ECB rate date, each rounded to its own minor units. For several lines at once (mixed-currency invoice lines), call it once per line: every line then shares one rate date. Unknown targets are listed, never failed.

Parameterstorequiredfromrequiredamountrequired

fx_rates_for

FX rates in the shape expense-tracker wants

Call this tool when a rebill or an invoice spans more than one currency, instead of asking the user for rates. Returns the fx_rates object expense_to_invoice takes, plus the rate date to write on the invoice.

Parameterstargetcurrenciesrequired

rate_history

Rate history for a pair

Call this tool for the ECB rate of one currency pair across a window. Returns one row per published day plus the min, max, average and the change. A window wider than the free 90 days is shortened, not refused.

Parameterstorequireddaysfromrequiredto_datemax_rowsfrom_date

rate_on

Rate on a given date

Call this tool for the ECB rate of one pair on one date. Returns both directions and the rate date, so a reciprocal is never reported as the published figure. A date beyond the free window is shortened, never refused.

Parameterstorequireddaterequiredfromrequired

currencies_list

Currencies the ECB quotes

Every currency in the ECB daily set with its rate against the euro and its decimal places. This is the whole domain: a code not on this list cannot be converted, quoted or historised here.

Takes no parameters.

cache_status

Rate cache status

Report the ECB rate cache here: which dates are held, how old they are and when they refresh. Reads only. Check it before trusting a rate after time offline; a cache that no longer parses is quarantined and named.

Takes no parameters.

license_status

License status

Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.

Takes no parameters.

license_activate

Activate license

Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.

Parameterskeyrequired

Version history

4
  1. v0.23.0LatestNov 3, 2026
  2. v0.22.6Oct 14, 2026
  3. v0.22.0Sep 17, 2026
  4. v0.21.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Daily integrations