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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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