Servidor CoinGecko
Un servidor de Protocolo de Contexto de Modelo (MCP) y un servicio de llamada de funciones OpenAI para interactuar con la API de CoinGecko Pro.
Características
Lista paginada de criptomonedas admitidas
Búsqueda de ID de moneda por nombre o símbolo
Datos históricos de precios, capitalización de mercado y volumen
Datos de velas OHLC (Apertura, Máximo, Mínimo, Cierre)
Caché de monedas local con capacidad de actualización
Related MCP server: CoinMarketCap MCP
Instalación
npm install coingecko-serverConfiguración del entorno
Crea un archivo .env en la raíz de tu proyecto:
COINGECKO_API_KEY=your_api_key_hereUso con Claude Desktop
Claude Desktop ofrece compatibilidad total con las funciones de MCP. Para usar este servidor:
Instalar Claude Desktop
Añade a tu configuración de Claude Desktop:
En macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonEn Windows:
%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"
}
}
}
}Reiniciar Claude Desktop
El servidor proporciona las siguientes herramientas:
get-coins: Obtenga una lista paginada de las monedas admitidasfind-coin-ids: busca identificadores de CoinGecko para nombres y símbolos de monedasget-historical-data: Obtenga datos históricos de precios, capitalización de mercado y volumenget-ohlc-data: Obtener datos de velas OHLCrefresh-cache: Actualizar el caché de la lista de monedas local
Uso con llamadas a funciones de 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
);
}Tipos de datos
Datos OHLC
interface OHLCData {
timestamp: number;
open: number;
high: number;
low: number;
close: number;
}Datos históricos
interface HistoricalData {
prices: [number, number][];
market_caps: [number, number][];
total_volumes: [number, number][];
}Información de la moneda
interface CoinInfo {
id: string;
symbol: string;
name: string;
platforms?: Record<string, string>;
}Límites de velocidad
Consulte la documentación de la API de CoinGecko Pro para conocer los límites de tarifas y las pautas de uso actuales.
Licencia
Instituto Tecnológico de Massachusetts (MIT)