关于 currency
这是一款使用欧洲中央银行每日参考汇率进行换算的 MCP 服务,面向需要标注汇率日期或查看历史走势的自由职业者和企业。数据缓存在本地,无需 API 密钥或账户。
主要功能
- 01单笔或批量金额换算
- 02查询最新及历史汇率
- 03列出 ECB 报价货币
- 04查看缓存状态
- 05为费用开票提供汇率
适用场景
- 01按指定日期的 ECB 汇率换算
- 02查看货币对的历史走势
- 03为费用开票准备汇率
MCP 相关
向 MCP 客户端提供货币换算和汇率查询工具,并提供 `fx://latest` 资源及 `convert_invoice_lines` 提示词。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-currency
询问助手某个金额换算成另一种货币值多少,即可获得附带日期的真实汇率。它读取欧洲中央银行每日发布的欧元外汇参考汇率,这也是银行、税务机关和会计师使用的同一组公开数据;它可以在 ECB 报价的任意货币之间换算金额,并显示货币对随时间的变动情况。无需 API 密钥、账户,也没有速率限制,因为 ECB 会公开发布该文件。两个文件都会缓存在你自己的设备上,因此首次下载后,每次查询都能即时返回,服务器在飞机上也能继续运行。每个答案都会注明所用汇率的日期,因为 ECB 每天只发布一次汇率,周日沿用周五的汇率。
由 theluckystrike 构建。
已收录于官方 MCP Registry(io.github.theluckystrike/currency-converter-ecb-rates-daily-keyless)。
已收录于 AI Product Index ——可使用实时远程端点 mcp.zovo.one/s/currency,提供免费套餐,无需注册。

60 秒安装
@theluckystrike/mcp-currency 的 npm 发布尚待完成。在此之前,可使用 .mcpb 一键安装包,或克隆并构建;
以下两种方式均已验证。
一键安装(.mcpb):从最新版本下载 currency.mcpb,然后在 Claude Desktop 中双击:
https://github.com/theluckystrike/mcp-servers/releases/latest
(claude_desktop_config.json):
{
"mcpServers": {
"currency": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-currency"]
}
}
}
Claude Code:
claude mcp add currency -- npx -y @theluckystrike/mcp-currency
(.cursor/mcp.json):
{
"mcpServers": {
"currency": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-currency"]
}
}
}
上述 npx 方式将在软件包发布后立即可用。在此之前,请使用上方的 .mcpb 安装包,或仅运行以下三条命令从源代码构建:
git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-servers
npm install
npm run build -w packages/mcp-license -w servers/currency
然后将客户端的 command 指向 node,并传入一个参数:servers/currency/dist/index.js 的绝对路径。
要使用 Pro 模式,请在同一配置块中设置 MCP_LICENSE_KEY,或使用密钥调用一次 license_activate。
工具
| 工具 | 功能 |
|---|---|
rates_latest | 最新的 ECB 参考汇率,可换算为任意基准货币。可选填 quotes 以缩小列表范围。 |
convert | 在两种货币之间换算金额,可使用当天汇率或指定过去日期的汇率。会注明汇率、汇率日期和舍入方式。 |
convert_many | 一次将一个金额换算成多种货币,所有换算均使用同一汇率日期。 |
fx_rates_for | 返回费用追踪器的 expense_to_invoice 所需的 fx_rates 对象,以及汇率日期。 |
rate_history | 显示指定时间段内某货币对的最低、最高和平均汇率,以及期间的变动情况。 |
rate_on | 返回某个日期的汇率;若该日没有汇率,则使用该日或之前最近一次发布的汇率,并注明这一点。返回两个方向的汇率(rate 和 inverse_rate),并通过 published_direction 指明 ECB 实际报价的货币对方向,因此不会把倒数汇率误报为已发布的汇率。 |
currencies_list | ECB 报价的所有货币,以及它们相对于欧元的汇率和小数位数。 |
cache_status | 显示缓存内容、缓存时长、下次刷新时间和缓存位置。 |
license_status / license_activate | 检查或激活 Pro 密钥。可离线验证。 |
资源 fx://latest 以 JSON 格式公开缓存的汇率。提示词 convert_invoice_lines 可一步完成从费用追踪器到货币换算再到发票的整个流程。
免费版与 Pro 版
| 免费版 | Pro 版(一次性支付 $19) | |
|---|---|---|
最新汇率、convert、convert_many、fx_rates_for | 是,无限使用 | 是,无限使用 |
| 货币 | ECB 报价的全部 30 多种货币 | ECB 报价的全部 30 多种货币 |
| 汇率历史 | 每次调用最多 90 天,回溯 90 天;超出范围的窗口会缩短并返回结果,同时指出上限 | 窗口不限,最早可追溯至 1999-01-04 |
rate_on | 最近 90 天 | 1999-01-04 以来的任意日期 |
| 离线缓存 | 是 | 是 |
如果请求的历史窗口不受支持,系统会返回原因以及应调用的确切较窄范围;不会静默截断表格, 也不会返回传输错误。
获取 Pro 版:https://mcp.zovo.one/buy/currency(或支付 $39 获取完整套装:https://mcp.zovo.one/buy/bundle)
可搭配使用
- expense-tracker:
expense_to_invoice接受target_currency和fx_rates对象,可将多币种费用汇总为一种发票币种,但不会获取或臆造汇率。此处的fx_rates_for {target, currencies}会返回完全相同的对象。这样一来,“以 USD 向 Nova 重新收费”即可端到端完成,无需用户输入任何汇率。 - invoice:一张发票只使用一种币种。先换算,再开具发票,并将返回的
invoice_note(“按 2026-09-02 的 ECB 参考汇率换算”)写入单据,方便客户核对。
expense_to_invoice {project, from, to} -> which currencies are actually present
fx_rates_for {target: "USD", currencies: [...]} -> {"EUR": 1.0812, "GBP": 1.2717}, rate date
expense_to_invoice {..., target_currency: "USD", fx_rates: {...}} -> one currency, every line annotated
invoice_create {currency: "USD", items: [...]} -> the document
汇率的工作原理
- 来源:ECB 欧元外汇参考汇率文件
eurofxref-daily.xml和eurofxref-hist.xml。 - 在 TARGET 工作日约 16:00 CET 发布。周末、1 月 1 日、耶稣受难日、复活节星期一、5 月 1 日以及 12 月 25 日和 26 日均无汇率。
- 查询没有汇率的日期时,会返回该日期当天或之前最近一次发布的汇率,这是所有银行采用的惯例;答复会说明匹配到的日期及原因。若日期位于缓存范围内但没有汇率,会说明这是周末或 TARGET 假日;若日期晚于缓存中的最新日期,则会说明汇率尚未发布,并注明缓存的最新日期以及本次调用是否向 ECB 查询。
- ECB 以欧元为基准报价,因此 USD/PLN 汇率是交叉汇率:比率以完整精度计算并相乘,整个过程中只在最后一步按目标币种的最小货币单位进行舍入。答复会提供两个数值:
rate_exact是乘数,rate是同一汇率舍入到 6 位小数后便于阅读的数值。手动用 6 位小数的rate重新计算,结果可能相差一两个最小货币单位;对于汇率远离 1 的货币对,误差会更大(1,000,000 VND 等于 KWD 11.667,而不是 KWD 12.000)。 - 结果会按目标币种自身的 ISO 4217 最小货币单位舍入:JPY 取整数,BHD 保留三位小数。
- 这些是用于会计和报告的参考汇率,不是交易汇率;你的银行汇率会有所不同。
隐私
所有数据都保留在本地。此服务唯一发出的网络请求是向 www.ecb.europa.eu 获取两个公开汇率文件,且仅当本地副本超过 6 小时(每日汇率)或 24 小时(历史汇率)时才会发出。你的金额、币种或设备信息不会发送到任何地方。缓存位于
${XDG_DATA_HOME:-~/.local/share}/mcp-servers/currency/;删除该目录即可重置服务。如果出站访问受限,可设置
ECB_BASE_URL 指向你自己的镜像。
采用 MIT 许可。支持联系邮箱:[email protected]。由 theluckystrike 构建。
将这些文档用作 MCP 服务
任何 MCP 客户端(Claude、Cursor、Windsurf、VS Code)都可以通过 GitMCP 直接读取此仓库的文档,无需安装:
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。