Frankfurter

io.github.lineofflightPublished by GitHub account lineofflightv0.5.4Updated Nov 7, 2026

Convert currencies and fetch blended FX rates from 50+ institutional sources.

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

Official Frankfurter MCP server for converting currencies and fetching blended or institution-specific FX reference rates.

What you can do
  • Convert an amount between currencies, optionally at a historical date or with one institution's published rate
  • Fetch latest or single-day reference rates, with optional base, quote list and one or more providers to compare
  • List supported currency, precious metal and crypto asset codes with their names
  • List the relayed institutions with key, rate type, frequency and coverage dates
When to use it
Useful when an assistant needs quick currency conversion, daily FX reference rates, or a citable published rate from a specific central bank or treasury for things like tax or customs figures.
Requirements
Nothing to install: a hosted remote endpoint is available, and no authentication, keys or environment variables are declared. Self-hosting needs Node.js and npm, or Docker; the optional PORT and FRANKFURTER_API_URL settings apply only to a self-hosted instance.
Before you install
Rates are daily reference rates, not real-time trading rates, and the project states it is not financial advice. Conversions are rounded to the target currency's minor units, and upstream rounds per direction, so low-value conversions may lose precision. For time series or bulk queries the server points to the REST API instead.

Installation

In SourceWeft

  1. Open Frankfurter 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.lineofflight%2Ffrankfurter/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": {
    "frankfurter": {
      "type": "http",
      "url": "https://mcp.frankfurter.dev/"
    }
  }
}

README

frankfurter-mcp

Official Model Context Protocol server for the Frankfurter exchange-rate API. A thin, stateless proxy over Frankfurter's v2 blended multi-source reference rates.

Tools

  • convert — the primary tool. Convert an amount between two currencies; returns a money object { amount, currency } rounded to the target's minor units. Pass date for a historical rate, provider for one institution's published rate (e.g. UST, the U.S. Treasury's quarterly reporting rate).
  • get_rates — blended reference rates for the latest day or a single date. Optional base, quotes and provider (or providers to compare multiple institutions). The raw-rate companion to convert; with provider and the provider's own base, the digits are as published, with the date they took effect.
  • list_currencies — supported currency, precious metal and crypto asset codes and names as { code: name }.
  • list_providers — the institutions relayed, with key, rate type, frequency and coverage dates, to pick a provider.

For time series, historical ranges, or bulk queries, use the REST API at https://api.frankfurter.dev/v2 directly.

Rates are daily reference rates, not real-time trading rates. Not financial advice.

Run

bash
npm installnpm run buildnpm start            # listens on :3000, POST /

Docker:

bash
docker build -t frankfurter-mcp . && docker run -p 3000:3000 frankfurter-mcpdocker run -p 3000:3000 ghcr.io/lineofflight/frankfurter-mcp:latest

The prebuilt ghcr.io/lineofflight/frankfurter-mcp:latest image is published on each release; building from source also works.

Point any MCP client at http://<host>:3000/ (Streamable HTTP). The hosted server is at https://mcp.frankfurter.dev/.

Configuration

  • PORT — HTTP port (default 3000).
  • FRANKFURTER_API_URL — upstream API base (default https://api.frankfurter.dev). Set this to a self-hosted Frankfurter instance if desired. The value must be a host root: any path prefix in it is discarded (e.g. https://example.com/api resolves to https://example.com/v2/rates), so a self-hosted instance must be reachable at the host root.

Development

bash
npm test       # vitestnpm run lint   # biome

License

MIT

Source: README.md at commit 90b1343

Tools

4

get_rates

Get exchange rates

Latest or a single day's exchange rates. The raw-rate companion to `convert`. With `provider`, published rates from one or more institutions: on its own base the digits are as published, with the date they took effect.

Parametersbasedatequotesproviderproviders

convert

Convert currency

Convert an amount from one currency to another. Returns {amount, currency} rounded to the target's minor units. Upstream rounds rates per direction; for low-value sources, flip via `get_rates` for more precision. Pass `provider` to use one institution's published rate, e.g. UST for a U.S. Treasury reporting rate.

Parameterstorequireddatefromrequiredamountrequiredprovider

list_currencies

List currencies

List all supported currency, precious metal and crypto asset codes and their full names (e.g. { 'USD': 'United States Dollar' }).

Takes no parameters.

list_providers

List providers

List the institutions whose rates Frankfurter relays, with key, rate type, frequency (daily, weekly, monthly or quarterly) and coverage dates. Use a key as `provider` in `convert` or `get_rates` for that institution's published rates instead of the blend.

Takes no parameters.

Version history

5
  1. v0.5.4LatestNov 7, 2026
  2. v0.5.3Nov 3, 2026
  3. v0.5.2Oct 23, 2026
  4. v0.5.1Sep 17, 2026
  5. v0.5.0Sep 16, 2026

Score

90% 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

    Declare a license in the repository or the registry entry.