CoinGecko Server
Um servidor MCP para
GitHub
9
Experimente este MCPPatrocinadoDocumentação
Atualização: a CoinGecko agora tem um servidor MCP oficial: https://docs.coingecko.com/reference/mcp-server
Recomendo que você use esse, pois provavelmente não atualizarei ou manterei este atual.
CoinGecko Server
Um servidor Model Context Protocol (MCP) e serviço de chamada de função OpenAI para interagir com a API Pro da CoinGecko.
Recursos
- Lista paginada de criptomoedas suportadas
- Consulta de ID de moeda por nome ou símbolo
- Dados históricos de preço, capitalização de mercado e volume
- Dados de candlestick OHLC (Abertura, Máxima, Mínima, Fechamento)
- Cache local de moedas com capacidade de atualização
Instalação
npm install coingecko-server
Configuração do Ambiente
Crie um arquivo .env na raiz do seu projeto:
COINGECKO_API_KEY=your_api_key_here
Uso com Claude Desktop
O Claude Desktop oferece suporte completo aos recursos do MCP. Para usar este servidor:
-
Instale o Claude Desktop
-
Adicione à sua configuração do Claude Desktop:
- No macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - No Windows:
%APPDATA%\Claude\claude_desktop_config.json
- No macOS:
{
"mcpServers": {
"coingecko": {
"command": "node",
"args": ["/path/to/coingecko-server/build/index.js"],
"env": {
"COINGECKO_API_KEY": "your-api-key-here"
}
}
}
}
- Reinicie o Claude Desktop
O servidor fornece as seguintes ferramentas:
get-coins: Obtenha uma lista paginada de moedas suportadasfind-coin-ids: Consulte IDs da CoinGecko para nomes/símbolos de moedasget-historical-data: Obtenha dados históricos de preço, capitalização de mercado e volumeget-ohlc-data: Obtenha dados de candlestick OHLCrefresh-cache: Atualize o cache local da lista de moedas
Uso com Chamada de Função 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 Dados
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>;
}
Limites de Taxa
Consulte a documentação da API Pro da CoinGecko para obter os limites de taxa atuais e as diretrizes de uso.
Licença
MIT