CoinGecko金融数据接口
启用与CoinGecko Pro API的交互,通过MCP和OpenAI功能调用访问加密货币数据,包括价格历史和市场指标。
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
get-coins 2 个参数
Get a paginated list of all supported coins on CoinGecko. Data up to March 9, 2025
该工具无需必填参数,直接调用即可
find-coin-ids 1 个参数 需填 1 项
Find CoinGecko IDs for a list of coin names or symbols (case-insensitive). Data up to March 9, 2025
必填参数:coins
get-historical-data 5 个参数 需填 4 项
Get historical price, market cap, and volume data for a specific coin. Data up to March 9, 2025
必填参数:id、vs_currency、from_date、to_date
refresh-cache
Manually update the local cache of CoinGecko coin data (automatically refreshed periodically, only needed if seeing stale data)
该工具无需必填参数,直接调用即可
get-ohlc-data 5 个参数 需填 5 项
Get OHLC (Open, High, Low, Close) data for a specific coin within a time range. Data up to March 9, 2025
必填参数:id、vs_currency、from_date、to_date、interval
服务介绍
CoinGecko 服务器
一个用于与 CoinGecko Pro API 交互的模型上下文协议(MCP)服务器和 OpenAI 函数调用服务。
功能
- 支持的加密货币分页列表
- 按名称或符号查找币 ID
- 历史价格、市值和交易量数据
- OHLC(开盘价、最高价、最低价、收盘价)K线数据
- 具有刷新功能的本地币缓存
安装
npm install coingecko-server
环境设置
在你的项目根目录下创建一个 .env 文件:
COINGECKO_API_KEY=your_api_key_here
与 Claude Desktop 一起使用
Claude Desktop 提供了对 MCP 特性的全面支持。要使用此服务器:
-
添加到你的 Claude Desktop 配置中:
- 在 macOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在 Windows 上:
%APPDATA%\Claude\claude_desktop_config.json
- 在 macOS 上:
{
"mcpServers": {
"coingecko": {
"command": "node",
"args": ["/path/to/coingecko-server/build/index.js"],
"env": {
"COINGECKO_API_KEY": "your-api-key-here"
}
}
}
}
- 重启 Claude Desktop
服务器提供了以下工具:
get-coins: 获取支持的币种分页列表find-coin-ids: 查找币名/符号对应的 CoinGecko IDget-historical-data: 获取历史价格、市值和交易量数据get-ohlc-data: 获取 OHLC K线数据refresh-cache: 刷新本地币种列表缓存
与 OpenAI 函数调用一起使用
import { CoinGeckoService } from 'coingecko-server';
import OpenAI from 'openai';
const openai = new OpenAI();
const coinGeckoService = new CoinGeckoService(process.env.COINGECKO_API_KEY);
// Get function definitions
const functions = CoinGeckoService.getOpenAIFunctionDefinitions();
// Example: Get historical data
const response = await openai.chat.completions.create({
model: "gpt-4-turbo-preview",
messages: [{ role: "user", content: "Get Bitcoin's price history for the last week" }],
functions: [functions[2]], // get_historical_data function
function_call: "auto",
});
if (response.choices[0].message.function_call) {
const args = JSON.parse(response.choices[0].message.function_call.arguments);
const history = await coinGeckoService.getHistoricalData(
args.id,
args.vs_currency,
args.from,
args.to,
args.interval
);
}
数据类型
OHLCData
interface OHLCData {
timestamp: number;
open: number;
high: number;
low: number;
close: number;
}
HistoricalData
interface HistoricalData {
prices: [number, number][];
market_caps: [number, number][];
total_volumes: [number, number][];
}
CoinInfo
interface CoinInfo {
id: string;
symbol: string;
name: string;
platforms?: Record<string, string>;
}
速率限制
请参考 CoinGecko Pro API 文档 以获取当前的速率限制和使用指南。
许可证
MIT