Frankfurter MCP 是一个用于访问 Frankfurter API 的工具,借助模型上下文协议(MCP)为语言模型代理提供服务。Frankfurter API 由欧洲央行等机构发布,可提供最新货币汇率、历史数据或时间序列等信息。
如果你想使用此 MCP 服务器上的工具,请参考以下“使用说明 > 客户端”部分。
将克隆此仓库的目录称为“工作目录”(WD)。
安装 uv。若要在虚拟环境中以最少依赖安装项目,请在工作目录中运行以下命令。若要安装所有非必要依赖(开发和测试所需),请将以下命令中的 --no-dev 替换为 --all-groups。
uv sync --no-dev
以下是可用于配置应用程序的环境变量列表,环境变量模板已在 .env.template 文件中提供。
可以指定以下以 FASTMCP_ 为前缀的环境变量:HOST、PORT、DEBUG 和 LOG_LEVEL。有关 FastMCP 的更多信息,请参阅 全局配置选项。请注意,以 on_duplicate_ 为前缀的环境变量选项将被忽略。
底层 HTTP 客户端也遵循一些环境变量,具体请参阅 HTTPX 库文档。此外,可以配置 SSL_CERT_FILE 和 SSL_CERT_DIR 以使用托管 API 端点或中间 HTTP(S) 代理服务器的自签名证书。
| 变量 | [默认值] 及描述 |
|---|---|
HTTPX_TIMEOUT |
[5.0] 底层 HTTP 客户端等待 Frankfurter API 响应的时间(秒)。 |
HTTPX_VERIFY_SSL |
[True] 可将此变量设置为 False 以关闭 SSL 证书验证,例如在使用带有自签名证书的代理服务器时。但不建议将其设置为 False,建议使用 SSL_CERT_FILE 和 SSL_CERT_DIR 变量正确配置自签名证书。 |
FAST_MCP_HOST |
[0.0.0.0] 除非服务器传输方式(见下文)设置为 stdio,否则此变量指定 MCP 服务器必须绑定的主机。 |
FAST_MCP_PORT |
[8000] 除非服务器传输方式(见下文)设置为 stdio,否则此变量指定 MCP 服务器必须监听的端口。 |
MCP_SERVER_TRANSPORT |
[stdio] 可接受的选项为 stdio、sse 或 streamable-http。在 .env.template 中,默认值设置为 streamable-http。 |
MCP_SERVER_INCLUDE_METADATA_IN_RESPONSE |
[True] 这是一个“实验性功能”,用于在包装每个工具调用响应数据的 MCP 类型 TextContent 中包含额外的元数据。例如,截至 2025 年 6 月 21 日,额外的元数据将包括用于获取响应的 Frankfurter 服务器的 API URL。 |
FRANKFURTER_API_URL |
[https://api.frankfurter.dev/v1] 如果你 自行托管 Frankfurter API,则应将其更改为你部署的 API 端点地址。 |
uv sync --no-dev
可根据需要修改 .env.template 文件中的环境变量,或在 shell 中导出要修改的环境变量。
uv 启动服务器uv run frankfurtermcp
pip 启动服务器pip install frankfurtermcp
python -m frankfurtermcp.server
docker build -t frankfurtermcp -f local.dockerfile .
docker create -p 8000:8000/tcp --env-file .env.template --expose 8000 --name frankfurtermcp-container frankfurtermcp
docker start frankfurtermcp-container
nvm install --lts
nvm use --lts
npx @modelcontextprotocol/inspector uv run frankfurtermcp
{
"command": "uv",
"args": [
"run",
"frankfurtermcp"
]
}
| 名称 | 描述 |
|---|---|
get_supported_currencies |
获取 Frankfurter API 支持的货币列表。 |
get_latest_exchange_rates |
获取给定基础货币的特定货币的最新汇率。 |
convert_currency_latest |
使用最新汇率将一种货币的金额转换为另一种货币。 |
get_historical_exchange_rates |
获取给定基础货币在特定日期或日期范围内的特定货币的历史汇率。 |
convert_currency_specific_date |
使用特定日期的汇率将一种货币的金额转换为另一种货币。 |
uv run cli --help
MCP_SERVER_TRANSPORT=streamable-http uv run frankfurtermcp
uv run cli tools-info
uv sync --extra opt
uv run cli llamaindex-tools-list
安装 pre-commit 和 ruff,并在工作目录中启用 pre-commit。
pre-commit install
MCP_SERVER_TRANSPORT=streamable-http uv run --group test pytest tests/
本项目采用 MIT 许可证。
| 日期 | 状态 | 备注或观察结果 |
|---|---|---|
| 2025 年 6 月 27 日 | 活跃 | 在 Glama.AI 和 Smithery.AI 上成功进行远程部署。 |
| 2025 年 6 月 13 日 | 活跃 | 仅为演示添加了 LlamaIndex 工具列表。(需要 --all-extras 标志来安装 LlamaIndex,默认情况下不安装。) |
| 2025 年 6 月 9 日 | 活跃 | 添加了容器化支持、自签名证书支持和代理支持。 |
| 2025 年 6 月 8 日 | 活跃 | 添加了动态组合功能。 |
| 2025 年 6 月 7 日 | 活跃 | 添加了涵盖 Frankfurter API 所有功能的工具。 |
| 2025 年 6 月 7 日 | 活跃 | 项目启动。 |