Skip to main content
Glama
lcfranca

Frankfurter Forex MCP

by lcfranca

Frankfurter Forex MCP

MCP server in Python for currency rates, conversion, and exchange-rate history using the Frankfurter API.

Features

  • base_quote: latest rates from a base currency to one or many targets

  • convert_currency: converts an amount between two currencies

  • exchange_history: returns the time series for a currency pair in a date range

  • Structured error payloads with error_code, tool, and trace_id

  • Retry with exponential backoff for transient upstream failures

Tech stack

  • Python 3.11+

  • MCP Python SDK (mcp)

  • httpx async client

  • Pydantic v2

  • pytest, pytest-asyncio, ruff

Project structure

src/frankfurter_forex_mcp/
  client/frankfurter.py
  models/schemas.py
  tools/
    base_quote.py
    convert_currency.py
    exchange_history.py
  server.py
tests/

Setup

  1. Install dependencies:

uv sync --all-extras
  1. Copy environment file:

cp .env.example .env

Run MCP server (stdio)

uv run python -m frankfurter_forex_mcp.server

Use with MCP Inspector on localhost

The easiest way to expose this server in the local Inspector is using:

uv run mcp dev src/frankfurter_forex_mcp/server.py

This command starts the local Inspector bridge and shows a localhost URL in the terminal.

For a manual Inspector stdio connection flow, see .docs/mcp-inspector-guide.md.

Advanced MCP practices implemented

  • Strict request validation with Pydantic before external calls

  • Strict external payload validation before response serialization

  • Stable JSON error contracts for machine clients

  • stdio-safe runtime behavior (no stdout logging side effects)

  • CI pipeline for linting, testing, and package smoke checks

Run quality checks

uv run ruff check .
uv run pytest

CI

GitHub Actions workflow is available at .github/workflows/ci.yaml.

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lcfranca/frankfurter-forex-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server