Frankfurter Forex MCP
An MCP server that provides currency rates, conversions, and historical exchange-rate data using the Frankfurter API. It enables users to retrieve latest rates, convert amounts between currencies, and access time-series data for currency pairs.
README
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 targetsconvert_currency: converts an amount between two currenciesexchange_history: returns the time series for a currency pair in a date range- Structured error payloads with
error_code,tool, andtrace_id - Retry with exponential backoff for transient upstream failures
Tech stack
- Python 3.11+
- MCP Python SDK (
mcp) httpxasync 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
- Install dependencies:
uv sync --all-extras
- 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.