mcpField
C
Currency Exchange & Crypto Rates

Currency Exchange & Crypto Rates

远程服务
github.com/Ruddxxy金融数据036 周前更新
代码仓库

关于 Currency Exchange & Crypto Rates

Currency Exchange & Crypto Rates 是为 MCP 客户端提供法币汇率与加密货币价格查询、换算的服务,面向需要金融数据的工作流。它支持批量换算、历史汇率及多数据源故障切换,并可解析货币代码和自然语言名称。

主要功能

  1. 01法币与加密货币换算
  2. 02单次批量换算最多 50 个目标
  3. 03查询当前汇率
  4. 04查询历史汇率与日期范围
  5. 05货币代码及自然语言解析
  6. 06多数据源自动故障切换

适用场景

  1. 01将金额换算为多种目标货币
  2. 02查询特定日期或区间的法币汇率
  3. 03将加密货币与法币或其他加密货币换算

MCP 相关

通过 MCP 提供汇率查询、货币换算、批量换算和历史汇率工具。上游数据源无需 API 密钥;部署的 Actor 需使用 Apify API token。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://vector384--currency-exchange-mcp.apify.actor/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://vector384--currency-exchange-mcp.apify.actor/mcp需要授权

工具

详细介绍

货币兑换与加密货币汇率 MCP 服务

GitHub 星标 许可证:ISC Node.js >= 20 CI

基于 Model Context Protocol 的货币兑换 MCP 服务,可提供实时外汇汇率和加密货币价格。支持在 60 多种法定货币和 30 多种加密货币之间兑换,并提供多源故障切换、智能货币解析、批量兑换和历史汇率查询功能。获取上游数据源的数据无需 API 密钥。

工具

convert_currency

在任意受支持的法定货币或加密货币之间兑换金额。

输入:

{ "amount": 100, "from": "USD", "to": "INR" }

输出:

{
  "amount": 100,
  "from": "USD",
  "to": "INR",
  "result": 8312,
  "rate": 83.12,
  "inverseRate": 0.012031,
  "timestamp": "2026-02-14T12:00:00.000Z",
  "source": "exchangerate-api",
  "cached": false
}

也支持自然语言:

{ "amount": 1, "from": "bitcoin", "to": "rupees" }
batch_convert

一次调用即可将一种货币的金额兑换为多种目标货币。比多次单独兑换更节省成本。

输入:

{ "amount": 1000, "from": "USD", "to": ["EUR", "GBP", "INR", "JPY", "BTC"] }

输出:

{
  "amount": 1000,
  "from": "USD",
  "conversions": [
    { "to": "EUR", "result": 920, "rate": 0.92, "inverseRate": 1.086957, "source": "exchangerate-api", "cached": false },
    { "to": "GBP", "result": 790, "rate": 0.79, "inverseRate": 1.265823, "source": "exchangerate-api", "cached": false },
    { "to": "INR", "result": 83120, "rate": 83.12, "inverseRate": 0.012031, "source": "exchangerate-api", "cached": false },
    { "to": "JPY", "result": 149500, "rate": 149.5, "inverseRate": 0.006689, "source": "exchangerate-api", "cached": false },
    { "to": "BTC", "result": 0.02, "rate": 0.00002, "inverseRate": 50000, "source": "coinbase", "cached": false }
  ],
  "timestamp": "2026-02-14T12:00:00.000Z"
}

每次调用最多支持 50 种目标货币。重复货币以及与源货币相同的货币会自动过滤。

get_exchange_rates

获取一种基础货币对多种目标货币的当前汇率。

输入:

{ "base": "USD" }

默认返回 20 种主要货币(USD、EUR、GBP、JPY、INR、AED、CAD、AUD、CHF、CNY、SGD、HKD、KRW、BRL、MXN、ZAR、TRY、THB、SAR、BTC)的汇率,也可以指定目标货币:

{ "base": "BTC", "targets": ["USD", "EUR", "INR", "GBP"] }

输出:

{
  "base": "BTC",
  "rates": {
    "USD": 51234.56,
    "EUR": 47345.12,
    "INR": 4258567.12,
    "GBP": 40567.89
  },
  "timestamp": "2026-02-14T12:00:00.000Z",
  "source": "coinbase",
  "cached": false
}
get_historical_rate

获取单个日期或日期范围内的历史汇率(最多 365 天)。

单个日期:

{ "base": "USD", "target": "INR", "date": "2025-01-15" }

输出:

{
  "base": "USD",
  "target": "INR",
  "date": "2025-01-15",
  "rate": 86.45,
  "source": "frankfurter",
  "cached": false
}

日期范围:

{ "base": "USD", "target": "EUR", "startDate": "2025-01-01", "endDate": "2025-01-31" }

输出:

{
  "base": "USD",
  "target": "EUR",
  "period": { "startDate": "2025-01-01", "endDate": "2025-01-31" },
  "rates": [
    { "date": "2025-01-02", "rate": 0.9234 },
    { "date": "2025-01-03", "rate": 0.9241 }
  ],
  "change": {
    "high": 0.9312,
    "low": 0.9189,
    "average": 0.9248,
    "changePct": 0.94
  },
  "source": "frankfurter",
  "cached": false
}

支持的货币

法定货币(60 多种)
主要货币海湾/中东亚太地区美洲欧洲非洲
USDAEDINRBRLEURZAR
EURSARJPYMXNGBPNGN
GBPKWDCNYARSCHFKES
JPYQARSGDCLPSEKEGP
AUDBHDHKDCOPNOKGHS
CADOMRKRWPENDKKMAD
CHFJODTWDUYUPLNTND
CNYILSTHBCZK
INREGPMYRHUF
IQDPHPRON
IRRIDRBGN
LBPVNDISK
BDTRUB
PKRUAH
LKRHRK
加密货币(30 种)
符号名称符号名称
BTCBitcoinXRPRipple
ETHEthereumLTCLitecoin
SOLSolanaBCHBitcoin Cash
DOGEDogecoinATOMCosmos
ADACardanoNEARNEAR Protocol
DOTPolkadotAPTAptos
AVAXAvalancheARBArbitrum
MATICPolygonOPOptimism
LINKChainlinkSHIBShiba Inu
UNIUniswapUSDTTether
BNBBNBUSDCUSD Coin
XLMStellarALGOAlgorand
FILFilecoinAAVEAave
CROCronosPEPEPepe
SUISuiTRXTron
智能货币解析

支持 ISO 4217 代码、加密货币符号和自然语言:

输入解析为
USD、dollars、bucksUSD
EUR、euro、eurosEUR
GBP、pounds、sterlingGBP
INR、rupees、rupeeINR
JPY、yenJPY
CNY、yuan、renminbi、rmbCNY
AED、dirham、dirhamsAED
SAR、riyal、riyalsSAR
BTC、bitcoinBTC
ETH、ethereum、etherETH
SOL、solanaSOL
DOGE、dogecoinDOGE

数据来源

数据主要来源备用来源
法币汇率(当前)ExchangeRate-API(160 种货币,每日更新)fawazahmed0/exchange-api(CDN,150+ 种货币)
加密货币汇率(当前)Coinbase Public API(200+ 种币,实时)CoinGecko(10K+ 种币,无需密钥)
历史汇率Frankfurter.app(ECB 数据,33 种货币,可追溯至 1999 年)fawazahmed0 日期端点

所有上游 API 均无需身份验证(不需要 API 密钥)。

功能

  • 多来源备用 — 在不同提供方之间自动故障切换
  • 支持法币兑法币、加密货币兑法币、法币兑加密货币,以及加密货币兑加密货币转换
  • 通过 USD 交叉汇率进行加密货币兑加密货币转换(例如,BTC 兑 ETH)
  • 批量转换 — 单次调用最多可转换为 50 种货币
  • 智能货币识别 — 支持自然语言、ISO 代码和加密货币符号
  • 历史汇率,支持时间序列和变动统计(最高、最低、平均值、变动百分比)
  • 带分级 TTL 的 LRU 缓存 — 法币 30 分钟,加密货币 2 分钟,历史数据 24 小时
  • 按域名限流(向同一上游 API 发出请求的间隔为 1.5 秒)
  • 对所有工具输入进行 Zod 架构验证
  • 日期验证 — 拒绝未来日期、无效格式以及超过 365 天的范围

定价

事件描述价格(USD)
currency-convert单组货币转换$0.003
batch-convert一次转换为最多 50 种货币$0.008
exchange-rates查询汇率$0.003
historical-rate查询历史汇率$0.008

限制

  • 加密货币历史汇率:不支持 — Frankfurter 和 fawazahmed0 仅涵盖法币
  • Frankfurter 覆盖范围:仅约 33 种 ECB 货币 — 海湾货币(AED、SAR、KWD、QAR)的历史数据使用 fawazahmed0 备用来源
  • 法币汇率时效性:ExchangeRate-API 每日更新,而非实时更新
  • 加密货币汇率时效性:缓存 2 分钟,以遵守上游 API 限制
  • 时间序列:仅适用于 Frankfurter 支持的货币(ECB)
  • 上游限流:CoinGecko 无密钥版本约为 10 次请求/分钟;Coinbase 约为 10 次请求/秒
  • 每个请求的响应大小上限为 1MB
  • 每个上游域名限流为每 1.5 秒 1 个请求

使用方法

MCP 端点: POST /mcp

# Convert 100 USD to INR
curl -X POST https://your-actor.apify.actor/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_API_TOKEN" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"convert_currency","arguments":{"amount":100,"from":"USD","to":"INR"}},"id":1}'

# Get BTC exchange rates
curl -X POST https://your-actor.apify.actor/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_API_TOKEN" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_exchange_rates","arguments":{"base":"BTC","targets":["USD","EUR","INR"]}},"id":2}'

# Historical rate for a specific date
curl -X POST https://your-actor.apify.actor/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_APIFY_API_TOKEN" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_historical_rate","arguments":{"base":"USD","target":"INR","date":"2025-01-15"}},"id":3}'

在本地运行

npm install
npm run start:dev

服务将在 http://localhost:3000/mcp 启动。

连接到你的 AI 客户端

将以下内容添加到你的 MCP 客户端配置中(Claude Desktop、Cline、Cursor 等):

{
  "mcpServers": {
    "currency-exchange": {
      "url": "https://vector384--currency-exchange-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_API_TOKEN"
      }
    }
  }
}

将 YOUR_APIFY_API_TOKEN 替换为你的 Apify API 令牌。

部署

apify login
apify push

推送后,在 Apify 平台上配置待机模式。

常见问题

上游汇率提供方需要 API 密钥吗? 不需要。所有 5 个数据源(ExchangeRate-API、fawazahmed0、Frankfurter、Coinbase、CoinGecko)都是公开且免费的。你只需为已部署的 Actor 准备 Apify API 令牌。

多来源故障切换如何工作? 每个请求都会先尝试主要提供方。如果失败或超时,服务会自动改用备用提供方重试。法币:ExchangeRate-API → fawazahmed0。加密货币:Coinbase → CoinGecko。历史数据:Frankfurter → fawazahmed0。

可以在两种加密货币之间转换吗(例如,BTC 兑 ETH)? 可以。加密货币之间的转换会自动使用 USD 交叉汇率。

汇率的时效性如何? 法币汇率每日更新。加密货币汇率缓存 2 分钟。历史汇率缓存 24 小时。

支持加密货币历史汇率吗? 不支持。历史数据来源(Frankfurter/ECB 和 fawazahmed0)仅涵盖法币。

如何在本地运行? npm install && npm run start:dev — MCP 端点将在 http://localhost:3000/mcp 提供服务。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。