CoinGecko
一个强大且灵活的 Node.js Express 服务器,它为 CoinGecko 加密货币数据 API 提供了一个全面的接口。该服务器同时支持免费的公共 API 和 Pro API,并具有自动回退功能。
README
🚀 CoinGecko API 服务器 MCP
<div align="center">
为 AI 系统和应用程序提供无缝的加密货币数据访问
特性 • 快速开始 • 安装 • 配置 • API 参考 • MCP 集成 • Pro API • 问题排查 • 许可证
</div>
🌟 概述
CoinGecko API 服务器 MCP 是一个强大的、可用于生产环境的 Node.js 解决方案,它通过优雅的 RESTful API 和 MCP (Marketplace Component Program) 接口提供对加密货币市场数据的无缝访问。它将 Claude 等 AI 系统与实时加密货币数据连接起来,同时处理 API 速率限制、回退和错误处理的所有复杂性。
<div align="center"> <img src="https://www.coingecko.com/assets/coingecko-logo-white-ea42ded10e4d604886deac6b8449b2b2230a0df0d0c6edd2c3b4587da9038cff.png" alt="CoinGecko Logo" width="300"/> </div>
✨ 主要特性
- 🔄 双 API 支持: 无缝集成 CoinGecko 免费和 Pro API
- 🧠 AI 集成: AI 助手 MCP 协议的完整实现
- 🛡️ 智能回退: 自动在 API 之间切换以防止速率限制
- ⚡ 优化性能: 高效的请求处理和响应缓存
- 📊 全面的数据: 访问所有必要的加密货币指标
- 🔌 简单接口: 直观的 RESTful 端点和 JSON-RPC 方法
- 🚦 强大的错误处理: 带有适当状态代码的清晰错误消息
- 🧩 易于部署: 通过引导式设置过程进行最小化配置
- 📘 丰富的文档: 清晰的使用说明和示例
🚀 快速开始
# 选项 1:使用 npx 安装并运行
npx coingecko-api-server
# 选项 2:手动克隆并安装
git clone https://github.com/yourusername/coingecko-api-server.git
cd coingecko-api-server
npm install
npm run setup
npm start
📦 安装
选项 1:使用 npx (推荐)
最快的入门方式:
npx coingecko-api-server
这将:
- 📥 下载并安装服务器
- 🧰 运行交互式设置向导
- 🔑 询问您的 CoinGecko API 密钥(可选)
- 🚀 自动启动服务器
选项 2:手动安装
为了更好地控制安装过程:
# 克隆存储库
git clone https://github.com/yourusername/coingecko-api-server.git
cd coingecko-api-server
# 安装依赖
npm install
# 运行设置脚本
npm run setup
# 启动服务器
npm start
⚙️ 配置
服务器使用 .env 文件中的环境变量进行配置:
| 变量 | 描述 | 默认值 |
|---|---|---|
PORT |
服务器端口 | 3000 |
COINGECKO_API_KEY |
CoinGecko Pro API 密钥(可选) | - |
CACHE_DURATION |
缓存持续时间(秒) | 60 |
LOG_LEVEL |
日志级别 (error, warn, info, debug) | info |
📚 API 参考
RESTful 端点
基本端点
GET /api/ping- 检查 API 服务器状态
价格数据
GET /api/simple/price- 获取指定币种的价格数据- 查询参数:
ids,vs_currencies,include_market_cap,include_24hr_vol,include_24hr_change,include_last_updated_at,precision
- 查询参数:
币种数据
GET /api/coins/markets- 获取币种的市场数据- 查询参数:
vs_currency,ids,category,order,per_page,page,sparkline,price_change_percentage
- 查询参数:
市场数据
GET /api/global- 获取全球加密货币数据GET /api/search/trending- 获取热门币种
示例
获取比特币以美元计价的价格:
curl "http://localhost:3000/api/simple/price?ids=bitcoin&vs_currencies=usd"
响应:
{
"bitcoin": {
"usd": 45678.12
}
}
获取市值排名前 5 的加密货币:
curl "http://localhost:3000/api/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=5&page=1"
🤖 AI 集成 (MCP)
此服务器实现了 Marketplace Component Program (MCP) 协议,使 Claude 等 AI 系统能够访问加密货币数据。
MCP 集成点
- JSON-RPC 端点:
/rpc- 处理来自 AI 客户端的方法调用 - Schema 定义:
/mcp/schema- 定义可用的工具和参数
可用的 MCP 方法
ping- 检查 API 状态getPrice- 获取指定加密货币的价格数据getSupportedVsCurrencies- 获取支持的货币列表getCoinMarkets- 获取币种的市场数据getGlobal- 获取全球加密货币数据getTrending- 获取热门币种
有关详细的集成说明,请参阅 MCP_INTEGRATION.md。
💎 Pro API 优势
此服务器支持 CoinGecko Pro API 和免费 API:
| 特性 | 免费 API | Pro API |
|---|---|---|
| 速率限制 | ~30 次调用/分钟 | ~500 次调用/分钟 |
| API 节流 | 是 | 否 |
| 支持 | 社区 | 优先 |
| 数据新鲜度 | 10-30 分钟 | 1-2 分钟 |
| 价格 | 免费 | 订阅 |
有关 Pro API 设置的更多详细信息,请参阅 USING_COINGECKO_PRO.md。
🔧 问题排查
| 问题 | 解决方案 |
|---|---|
| 速率限制错误 | 考虑升级到 Pro API 或调整您的请求频率 |
| 连接被拒绝 | 确保服务器在指定的端口上运行 |
| 身份验证错误 | 检查 .env 文件中的 API 密钥 |
| 缺少数据 | 验证请求中的参数 |
🧪 开发
# 在开发模式下运行,带有热重载
npm run dev
# 运行测试
npm test
# 构建用于生产环境
npm run build
🔄 工作原理
服务器充当您的应用程序和 CoinGecko API 之间的中间件:
- 请求路由: 处理来自 RESTful 和 JSON-RPC 客户端的传入请求
- API 选择: 根据配置在免费和 Pro API 之间进行选择
- 速率限制管理: 实施智能请求节流
- 响应处理: 以一致的结构格式化并返回数据
- 错误处理: 提供详细的错误信息以进行故障排除
📱 使用案例
- AI 驱动的财务顾问: 使 AI 系统能够访问实时加密货币数据
- 投资仪表板: 构建具有可靠数据访问的加密货币仪表板
- 投资组合跟踪器: 创建用于监控加密货币持有的应用程序
- 市场分析工具: 开发用于技术和基本面分析的工具
- 交易机器人: 使用市场数据为自动化交易系统提供动力
📄 许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
🙏 鸣谢
<div align="center">
用 ❤️ 由 [您的组织] 制作
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。