mcp-coingecko-server 仓库详细介绍
概述
仓库名称: mcp-coingecko-server
仓库作者: crazyrabbitLTC
仓库URL: mcp-coingecko-server GitHub
仓库描述: 本项目是一个基于Anthropic Model Context Protocol (MCP)的服务器,与OpenAI的函数调用兼容,旨在与CoinGecko Pro API进行交互。
仓库作者: crazyrabbitLTC
仓库URL: mcp-coingecko-server GitHub
仓库描述: 本项目是一个基于Anthropic Model Context Protocol (MCP)的服务器,与OpenAI的函数调用兼容,旨在与CoinGecko Pro API进行交互。
通过本项目,用户可以便捷地访问CoinGecko API,获取加密货币的行情和历史数据。无论是需要查看某个币种的详细信息,还是想获取更多市场动态数据,该项目都提供了一套完整而强大的功能。
功能特点
mcp-coingecko-server 提供了以下核心功能,为用户与CoinGecko数据交互提供了极大便利:
- 分页获取支持的加密货币列表: 轻松获取并浏览不同加密货币的信息。
- 通过名称或符号查找币种ID: 快速定位目标币种的详细信息。
- 历史价格、市场资本额及交易量数据: 提供历史数据分析以支持用户的决策制定。
- OHLC(开盘、最高、最低、收盘)数据: 提供详尽的K线图数据以辅助市场技术分析。
- 本地缓存与刷新功能: 支持本地缓存数据,提升数据请求的效率和速度。
安装方法
要安装此服务,在您的项目目录中运行以下命令:
npm install coingecko-server
环境设置
在项目的根目录下创建一个
.env
文件,并配置CoinGecko API的访问密钥:COINGECKO_API_KEY=your_api_key_here
与 Claude Desktop 的集成使用
Claude Desktop 完全支持 MCP 功能。按照以下步骤可以让此服务器与 Claude Desktop 结合使用:
- 安装 Claude Desktop: 访问Claude 官方网站下载安装包。
- 配置 Claude Desktop: 在macOS系统上,路径为
;在Windows系统上,路径为~/Library/Application Support/Claude/claude_desktop_config.json
。插入如下配置:%APPDATA%\Claude\claude_desktop_config.json
{
"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 ID。get-historical-data
: 获取历史价格、市场资本额和交易量数据。get-ohlc-data
: 获取OHLC(开盘、最高、最低、收盘)K线图数据。refresh-cache
: 刷新本地币种缓存列表。
与 OpenAI 函数调用的集成使用
以下是与 OpenAI 函数调用集成的用例,便捷调用CoinGecko服务获取所需数据:
import { CoinGeckoService } from 'coingecko-server';
import OpenAI from 'openai';
const openai = new OpenAI();
const coinGeckoService = new CoinGeckoService(process.env.COINGECKO_API_KEY);
// 获取函数定义
const functions = CoinGeckoService.getOpenAIFunctionDefinitions();
// 示例: 获取历史数据
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
OHLC(开盘价、最高价、最低价、收盘价)数据结构定义:
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 许可证。
结语
mcp-coingecko-server 项目以其功能的全面性与实用性,为用户提供了强大的工具来深入洞悉和分析不断变化的加密货币市场数据。此服务不仅能高效获取广泛的市场信息,还方便整合到其他智能应用中发挥更大的作用。无论是开发者、市场分析师还是投资者,皆能借助此服务获取所需的数据支持。