内容
# rate-mcp — 实时汇率 + 加密货币行情 MCP Server
> 让 Claude 直接查询实时汇率和加密货币行情!外汇、比特币、以太坊等一站式搞定。
## ✨ 功能一览
| 工具 | 说明 |
|------|------|
| `get_exchange_rates` | 实时外汇汇率(基准货币→所有主要货币) |
| `get_exchange_rate_pair` | 特定货币对汇率(如 USD/CNY、EUR/JPY) |
| `convert_fiat` | 法币兑换计算 |
| `get_historical_exchange_rates` | 历史外汇汇率查询 |
| `get_supported_currencies` | 支持的外汇货币列表 |
| `get_crypto_prices` | 加密货币实时价格(支持批量) |
| `list_cryptocurrencies` | 加密货币市值排行榜 |
| `get_crypto_detail` | 单个加密货币详细信息 |
| `get_crypto_historical` | 历史价格走势 |
| `search_cryptocurrencies` | 搜索加密货币 |
| `get_trending_cryptos` | 热门加密货币趋势榜 |
| `get_market_overview` | 全球加密货币市场概览 |
| `convert_currency` | **万能兑换** — 任意法币↔加密货币 |
## 🚀 快速开始
```bash
# 安装依赖
cd rate-mcp
npm install
npm run build
# 配置 Claude Code
# 在 .mcp.json 或 ~/.claude/mcp.json 中添加:
```
```json
{
"mcpServers": {
"rate": {
"command": "node",
"args": ["path/to/rate-mcp/dist/index.js"]
}
}
}
```
## 💬 使用示例
```
"美元兑人民币现在多少?"
"1万人民币能换多少日元?"
"比特币现在多少钱?"
"加密货币市值排行榜 Top 20"
"查一下以太坊的详细信息"
"全球加密货币市场总市值多少?"
"0.5个BTC能换多少USDT?"
"今天最热的加密货币有哪些?"
"过去一周SOL的走势怎么样?"
```
## 🏗 技术架构
```
rate-mcp/
├── src/
│ ├── index.ts # 入口 + 服务注册(13个工具)
│ ├── config.ts # 配置(缓存TTL、API地址)
│ ├── tools/
│ │ ├── exchange.ts # 外汇汇率工具(5个)
│ │ ├── crypto.ts # 加密货币工具(5个)
│ │ ├── market.ts # 市场概览工具(2个)
│ │ └── convert.ts # 万能兑换工具(1个)
│ ├── data/
│ │ ├── coingecko.ts # CoinGecko API 客户端
│ │ ├── frankfurter.ts # Frankfurter API 客户端(欧洲央行数据)
│ │ └── cache.ts # 内存缓存
│ └── utils/
│ └── logger.ts # 日志工具
└── dist/ # 编译输出
```
## 📊 数据来源
| 数据类型 | 来源 | 费用 | API Key |
|----------|------|------|---------|
| **外汇汇率** | 欧洲央行 (ECB) → [Frankfurter API](https://api.frankfurter.app) | ✅ 免费 | ❌ 不需要 |
| **加密货币** | [CoinGecko](https://www.coingecko.com) | ✅ 免费 | ❌ 不需要 |
- **外汇数据**:欧洲央行官方汇率,覆盖 30+ 种主要货币
- **加密货币数据**:覆盖 12,000+ 种加密货币,支持 50+ 种计价货币
- 所有数据均为**公开市场数据**,合法合规
## 💡 注意事项
- 加密货币价格实时更新(缓存 30 秒)
- 外汇汇率来自欧洲央行,交易日更新
- 所有数据仅供个人学习研究,**不构成任何投资建议**
- 基于公开 API 构建,请合理使用避免限流
## 📜 License
MIT