frankfurtermcp
A MCP server for the Frankfurter API for currency exchange rates.
claude mcp add --transport stdio anirbanbasu-frankfurtermcp uvx frankfurtermcp \ --env LOG_LEVEL="INFO" \ --env FAST_MCP_HOST="localhost" \ --env FAST_MCP_PORT="8000" \ --env HTTPX_TIMEOUT="5.0" \ --env HTTPX_VERIFY_SSL="True" \ --env LRU_CACHE_MAX_SIZE="1024" \ --env TTL_CACHE_MAX_SIZE="256" \ --env FRANKFURTER_API_URL="https://api.frankfurter.dev/v1" \ --env MCP_SERVER_TRANSPORT="stdio" \ --env TTL_CACHE_TTL_SECONDS="900" \ --env UVICORN_LIMIT_CONCURRENCY="100" \ --env UVICORN_TIMEOUT_KEEP_ALIVE="60" \ --env CORS_MIDDLEWARE_ALLOW_ORIGINS="["localhost", "127.0.0.1"]" \ --env UVICORN_TIMEOUT_GRACEFUL_SHUTDOWN="5" \ --env RATE_LIMIT_MAX_REQUESTS_PER_SECOND="10.0" \ --env MCP_SERVER_INCLUDE_METADATA_IN_RESPONSE="True"
How to use
Frankfurter MCP exposes the Frankfurter API (currency exchange rates and related data) as MCP tools that can be consumed by language models and other MCP clients. When you run the server, you’ll have access to a set of endpoints/tools such as latest exchange rates, historical series, and time-series data, backed by Frankfurter’s public API. The MCP server caches API responses to improve performance, with separate strategies for static-ish data (LRU cache) and frequently changing data (TTL cache). Use the MCP client to call the available tools and get structured responses that include optional metadata if enabled. The server supports standard MCP transports and can be run in a local development environment or wired into larger agent workflows.
How to install
Prerequisites:
- Python 3.12+ installed on your system
- Just task runner installed (https://just.systems/)
- uv (or uvx workflow) for Python project execution
Installation steps:
- Install Just and Python dependencies:
# ensure you have just installed as per their instructions
# from the project root, install minimal dependencies for runtime
just install
- Install or prepare the Frankfurter MCP package locally (via PyPI or source):
pipx install frankfurtermcp # or
pip install frankfurtermcp
- Run the MCP server (example using uvx as configured in this repo):
uvx frankfurtermcp
- Verify the server is running by hitting the MCP endpoint (e.g., via curl or your MCP client):
curl http://localhost:8000/mcp/tools
Additional notes
Notes and tips:
- The server reads configuration from environment variables (prefixed with FAST_MCP_). You can override defaults for HOST, PORT, DEBUG, LOG_LEVEL, and caching behavior as needed.
- If you enable stdio transport, ensure your client supports the MCP Server Transport setting accordingly.
- The FRANKFURTER_API_URL can be pointed to a self-hosted Frankfurter instance if you’re not using the public API.
- Caching parameters (LRU_CACHE_MAX_SIZE, TTL_CACHE_MAX_SIZE, TTL_CACHE_TTL_SECONDS) can be tuned for performance vs memory usage depending on your workload.
- For development, you can disable SSL verification by setting HTTPX_VERIFY_SSL to False, but using proper SSL_CERT_FILE/DIR is recommended in production.
- The server can be rate-limited with RATE_LIMIT_MAX_REQUESTS_PER_SECOND to prevent abuse; adjust as needed for your deployment.
- If you encounter port binding issues, ensure the FAST_MCP_PORT you choose is not in use by other services.
Related MCP Servers
metamcp
MCP Aggregator, Orchestrator, Middleware, Gateway in one docker
mcp
🤖 Taskade MCP · Official MCP server and OpenAPI to MCP codegen. Build AI agent tools from any OpenAPI API and connect to Claude, Cursor, and more.
fred
Open-source FRED MCP Server (Federal Reserve Economic Data)
awesome s
A curated list of excellent Model Context Protocol (MCP) servers.
motion-dev
A MCP server providing offline Motion.dev documentation access and intelligent animation code generation for React, JavaScript, and Vue. Features multi-framework support, advanced search capabilities, and production-quality component generation through AI.
fastmcp-builder
A comprehensive Claude Code skill for building production-ready MCP servers using FastMCP. Includes reference guides, runnable examples, and a complete implementation with OAuth, testing, and best practices.