streamable-httpupdated 14d ago
Official Model Context Protocol server for the Frankfurter exchange-rate API. A thin, stateless proxy over Frankfurter's v2 blended multi-source reference rates.
What can you do with Frankfurter?
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. Passdatefor a historical rate.get_rates— blended reference rates for the latest day or a singledate. Optionalbaseandquotes. The raw-rate companion toconvert.list_currencies— supported ISO 4217 codes and names as{ code: name }.
For time series, historical ranges, provider-specific rates, 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
npm install
npm run build
npm start # listens on :3000, POST /
Docker:
docker build -t frankfurter-mcp . && docker run -p 3000:3000 frankfurter-mcp
docker 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 (default3000).FRANKFURTER_API_URL— upstream API base (defaulthttps://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/apiresolves tohttps://example.com/v2/rates), so a self-hosted instance must be reachable at the host root.
Development
npm test # vitest
npm run lint # biome
License
MIT
Install
Add Frankfurter to your client. Pick the one you use.
claude mcp add --transport http frankfurter https://mcp.frankfurter.dev/codex mcp add frankfurter --url https://mcp.frankfurter.dev/{
"mcpServers": {
"frankfurter": {
"url": "https://mcp.frankfurter.dev/"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"frankfurter": {
"type": "http",
"url": "https://mcp.frankfurter.dev/"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"frankfurter": {
"url": "https://mcp.frankfurter.dev/"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"frankfurter": {
"serverUrl": "https://mcp.frankfurter.dev/"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation18/25
- Maintenance25/25
- Trust9/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 7 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.4.3Latest | Jun 12, 2026 |
| 0.4.2 | Jun 12, 2026 |
| 0.4.1 | Jun 5, 2026 |
| 0.4.0 | Jun 4, 2026 |
| 0.3.1 | May 20, 2026 |
| 0.3.0 | May 20, 2026 |
| 0.2.0 | May 19, 2026 |
| 0.1.1 | May 19, 2026 |
| 0.1.0 | May 18, 2026 |