货币兑换和加密货币汇率MCP服务器
](https://github.com/Ruddxxy/currency-exchange-mcp)  ](https://nodejs.org) 
货币兑换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种货币(美元、欧元、英镑、日元、印度卢比、迪拉姆、加元、澳元、瑞士法郎、人民币、新加坡元、港元、韩元、巴西雷亚尔、墨西哥比索、南非兰特、土耳其里拉、泰铢、沙特里亚尔、比特币)的汇率,或指定目标:
{ "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多种货币)
| 主要 | 海湾/中东 | 亚太 | 美洲 | 欧洲 | 非洲 |
|---|---|---|---|---|---|
| 美元 | |||||
| 欧元 | SAR | JPY | MXN | GBP | NGN |
| GBP | KWD | CNY | ARS | CHF | KES |
| 日本 | 卡塔尔 | SGD | CLP | SEK | EGP |
| AUD | BHD | HKD | COP | NOK | GHS |
| CAD | OMR | KRW | PEN | DKK | MAD |
| CHF | JOD | TWD | UYU | PLN | TND |
| CNY | ILS | THB | CZK | ||
| INR | EGP | MYR | HUF | ||
| PHP | RON | ||||
| IRR | IDR | BGN | |||
| LBP | VND | ISK | |||
| BDT | RUB | ||||
| PKR | UAH | ||||
| LKR | HRK |
加密货币(30枚硬币)
| 符号 | 名称 | 符号 | 名称 |
|---|---|---|---|
| BTC | 比特币 | XRP | 瑞波币 |
| ETH | 以太坊 | LTC | 莱特币 |
| SOL | Solana | BCH | 比特币现金 |
| 狗狗 | 狗狗币 | 原子 | 宇宙 |
| ADA | Cardano | NEAR | NEAR协议 |
| DOT | Polkadot | APT | Aptos |
| AVAX | 雪崩 | ARB | Arbitrum |
| MATIC | 多边形 | OP | 乐观 |
| LINK | Chainlink | SHIB | Shiba Inu |
| UNI | Uniswap | USDT | Tether |
| BNB | BNB | USDC | USD硬币 |
| XLM | 恒星 | ALGO | 阿尔戈兰 |
| FIL | Filecoin | AAVE | AAVE |
| CRO | Cronos | PEPE | PEPE |
| SUI | SUI | TRX | Tron |
智能货币解决方案
接受ISO 4217代码、加密符号和自然语言:
| 输入 | 解析为 |
|---|---|
USD, dollars, bucks | 美元 |
EUR, euro, euros | 欧元 |
GBP, pounds, sterling | GBP |
INR, rupees, rupee | INR |
JPY, yen | JPY |
CNY, yuan, renminbi, rmb | CNY |
AED, dirham, dirhams | AED |
SAR, riyal, riyals | SAR |
BTC, bitcoin | BTC |
ETH, ethereum, ether | ETH |
SOL, solana | SOL |
DOGE, dogecoin | 狗 |
数据源
| 数据 | 主要 | 后备 |
|---|---|---|
| 法定汇率(当前) | ExchangeRate-API(160种货币,每日) | fawazahmed0/exchange-API(加元,150多种货币) |
| 加密货币费率(当前) | Coinbase Public API(200多个硬币,实时) | Coin Gecko(10万个硬币,无钥匙) |
| 历史汇率 | Frankfurter.app(欧洲央行数据,33种货币,追溯到1999年) | fawazahmed0日期终点 |
所有上游API都是零身份(不需要API密钥)。
特性
- 多源回退——提供程序之间的自动故障转移
- 菲亚特到菲亚特、加密货币到菲亚特、菲亚特到加密货币以及加密货币到加密货币的转换
- 通过美元交叉汇率进行加密货币兑换(例如,BTC兑换ETH)
- 批量转换--一次通话最多可转换50种货币
- 智能货币解析——自然语言、ISO代码和加密符号
- 历史速率与时间序列和变化统计(高、低、平均、变化百分比)
- 具有分层TTL的LRU缓存——30分钟法定,2分钟加密,24小时历史
- 逐域速率限制(对同一上游API的请求之间为1.5秒)
- 对所有工具输入进行Zod模式验证
- 日期验证--拒绝未来日期、无效格式、超过365天的范围
定价
| 活动 | 描述 | 价格(美元) |
|---|---|---|
currency-convert | 单对转换 | 0.003美元 |
batch-convert | 一次最多转换50种货币 | $0.008 |
exchange-rates | 汇率查询 | 0.003美元 |
historical-rate | 历史汇率查询 | 0.008美元 |
局限性
- 历史加密货币汇率:不支持-法兰克福和法瓦扎米德0仅涵盖菲亚特
- 法兰克福报道:仅33种欧洲央行货币——海湾货币(阿联酋迪拉姆、沙特里亚尔、科威特第纳尔、卡塔尔里亚尔)使用fawazahmed0回退历史汇率
- 菲亚特新鲜度:ExchangeRate-API每日更新,而不是实时更新
- 加密速率新鲜度:缓存2分钟以遵守上游API限制
- 时间序列:仅适用于法兰克福支持的(欧洲央行)货币
- 上游速率限制: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令牌。
多源故障转移是如何工作的? 每个请求首先尝试主提供者。如果失败或超时,服务器会自动重试回退提供程序。法定汇率-API→ fawazahmed0.加密货币:Coinbase→ CoinGecko。历史:法兰克福→ fawazahmed0。
我可以在两种加密货币之间转换吗(例如,BTC到ETH)? 对。加密货币到加密货币的转换会自动使用美元交叉汇率。
新鲜度是多少? 菲亚特价格每日更新。加密货币汇率缓存2分钟。历史汇率将缓存24小时。
是否支持历史加密货币汇率? 不是。历史数据来源(法兰克福/EBC和fawazahmed0)仅涵盖法定货币。
我如何在本地运行它? npm install && npm run start:dev --MCP端点将在 http://localhost:3000/mcp.
