关于 Frankfurter
Frankfurter 是一个 MCP 服务,将 Frankfurter API 的参考汇率提供给 MCP 客户端。其工具可换算金额、查询当日或历史汇率,并列出支持的货币和汇率来源;这些汇率不是实时交易报价。
主要功能
- 01换算不同货币的金额
- 02获取当日或历史汇率
- 03选择或比较汇率来源
- 04列出支持的 ISO 4217 货币
- 05查看来源覆盖范围详情
适用场景
- 01按参考汇率换算金额
- 02查询过去某日的汇率
- 03比较指定机构的汇率
MCP 相关
该服务通过 Streamable HTTP 将 Frankfurter 汇率 API 操作提供为 MCP 工具。MCP 客户端可连接托管端点或本地运行的实例。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
服务地址
https://mcp.frankfurter.dev/一键复制安装命令
Claude CodeTerminal
claude mcp add --transport http lineofflight-frankfurter https://mcp.frankfurter.dev/Cursor.cursor/mcp.json
{"mcpServers":{"lineofflight-frankfurter":{"type":"http","url":"https://mcp.frankfurter.dev/"}}}在 Cursor 中打开VS Code.vscode/mcp.json
{"servers":{"lineofflight-frankfurter":{"type":"http","url":"https://mcp.frankfurter.dev/"}}}在 VS Code 中打开Claude Desktopclaude_desktop_config.json
{"mcpServers":{"lineofflight-frankfurter":{"type":"http","url":"https://mcp.frankfurter.dev/"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"lineofflight-frankfurter":{"serverUrl":"https://mcp.frankfurter.dev/"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
4| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| base | string | 否 | ISO 4217 基准货币。默认值为 EUR。 |
| date | string | 否 | 单日日期,格式为 YYYY-MM-DD。省略则使用最新汇率。 |
| quotes | array | 否 | 要返回的 ISO 4217 报价货币代码;省略则返回全部。 |
| provider | array | 否 | 一个或多个提供方键,例如 ECB 或 ['ECB', 'HMRC']。返回已发布汇率,而非混合汇率;对于按月或按季度提供数据的提供方,指定其周期内的日期将返回当时生效的汇率。键列表见 https://frankfurter.dev/providers/。 |
| providers | array | 否 | `provider` 的别名,支持接受多个提供方键。 |
详细介绍
frankfurter-mcp
用于 Frankfurter 汇率 API 的官方 Model Context Protocol 服务。一个针对 Frankfurter v2 多来源综合参考汇率的轻量、无状态代理。
工具
convert— 主要工具。转换两种货币之间的金额;返回一个四舍五入到目标货币最小单位的金额对象{ amount, currency }。传入date可查询历史汇率,传入provider可使用某家机构发布的汇率(例如UST,美国财政部的季度报告汇率)。get_rates— 获取最新日期或指定date的综合参考汇率。可选参数包括base、quotes和provider(或用于比较多家机构的providers)。这是convert的原始汇率对应工具;使用provider和该机构自己的基准货币时,返回的数字与发布值一致,并附带生效日期。list_currencies— 返回支持的 ISO 4217 代码和名称,格式为{ code: name }。list_providers— 返回提供汇率的机构及其键、汇率类型、频率和覆盖日期,以便选择provider。
如需时间序列、历史范围或批量查询,请直接使用 REST API:https://api.frankfurter.dev/v2。
汇率为每日参考汇率,并非实时交易汇率。不构成财务建议。
运行
npm install
npm run build
npm start # listens on :3000, POST /
Docker:
docker build -t frankfurter-mcp . && docker run -p 3000:3000 frankfurter-mcp
docker run -p 3000:3000 ghcr.io/lineofflight/frankfurter-mcp:latest
预构建的 ghcr.io/lineofflight/frankfurter-mcp:latest 镜像会在每次发布时推送;也可以从源代码构建。
将任意 MCP 客户端指向 http://<host>:3000/(Streamable HTTP)。托管服务位于 https://mcp.frankfurter.dev/。
配置
PORT— HTTP 端口(默认3000)。FRANKFURTER_API_URL— 上游 API 基础地址(默认https://api.frankfurter.dev)。 如有需要,可将其设为可自托管的 Frankfurter 实例。该值必须是主机根地址:其中的任何路径前缀都会被丢弃(例如,https://example.com/api会解析为https://example.com/v2/rates),因此可自托管实例必须可通过主机根地址访问。
开发
npm test # vitest
npm run lint # biome
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。