关于 fxrates
fxrates 无需 API 密钥,即可通过命令行和 MCP 访问 Frankfurter 外汇数据。它可获取币种及当前或历史汇率,并根据取得的汇率在本地计算货币转换。
主要功能
- 01列出支持的币种
- 02获取最新汇率
- 03获取指定日期或区间的汇率
- 04根据获取的汇率转换货币
- 05支持命令行和 stdio MCP 服务
适用场景
- 01查询所选币种的最新汇率
- 02查看过去某日或某时段的汇率
- 03按当前或历史汇率转换金额
MCP 相关
stdio MCP 服务提供支持币种、当前和历史汇率及货币转换工具。它连接 Frankfurter,也可使用覆盖设置的 API 基础 URL。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 1 周前
此工具无需参数。
详细介绍
fxrates
fxrates 从 Frankfurter API 读取外汇数据:支持哪些货币、最新汇率、某个过去日期或一段日期范围内的汇率,以及根据获取的汇率在本地计算的货币兑换结果。一个二进制文件同时提供命令行界面和 stdio MCP 服务。
无需 API 密钥。该服务不需要密钥,因此 fxrates 无需任何配置即可运行。可通过 FRANKFURTER_API_URL 覆盖 API 基础 URL;未设置时,调用会发送至
https://api.frankfurter.dev/v1。
安装
npx @reneturcios/fxrates currencies
也可以运行容器镜像:
docker run -i ghcr.io/cloudcorprecords/fxrates
容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。
CLI
fxrates currencies
fxrates latest --base USD --symbols EUR,GBP
fxrates convert 25 EUR USD
fxrates historical 2024-05-01 --base EUR --symbols USD
fxrates range 2024-05-01 2024-05-03 --base EUR
fxrates convert-on 2020-01-02 100 USD EUR
fxrates greet Ada
fxrates --version
汇率命令会输出上游 JSON 负载。兑换命令会输出一个 JSON 对象,其中包含 amount、from、to、rate、converted,以及 API 提供时的 date。退出代码:成功时为 0,调用失败(包括上游 API 错误)时为 1,用法错误时为 2。
兑换在本地计算:工具会获取所需的单个汇率并进行乘法计算。结果会四舍五入到小数点后第六位,最多保留六位小数;不收取费用、不计入价差,也不进行额外舍入。
MCP 服务
一个二进制文件提供两种接口。mcp 子命令会启动 stdio MCP 服务:
npx -y @reneturcios/fxrates mcp
MCP 客户端配置:
{
"mcpServers": {
"fxrates": {
"command": "npx",
"args": ["-y", "@reneturcios/fxrates", "mcp"]
}
}
}
若要让服务连接到其他兼容 Frankfurter 的主机,请在客户端为此服务配置的 env 中添加 FRANKFURTER_API_URL。
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
get_supported_currencies | (无) | 支持的货币代码及其名称组成的映射。 |
get_latest_exchange_rates | base、symbols(均可选) | 最新汇率负载。 |
convert_currency_latest | amount、from、to(均为必填) | 按最新汇率计算的兑换结果:金额、货币对、汇率、兑换后的值和日期。 |
get_historical_exchange_rates | date 或 start_date/end_date,以及可选的 base、symbols | 单个日期或一段日期范围内的汇率。 |
convert_currency_specific_date | date、amount、from、to(均为必填) | 按该日期的汇率计算的兑换结果。 |
greet | name(可选) | 问候语字符串。供内部测试使用。 |
日期格式为 YYYY-MM-DD。symbols 是逗号分隔的列表,例如
USD,GBP。货币参数使用代码,例如 EUR 和 USD。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。