Servidor MCP (Model Context Protocol) que expõe ferramentas para consultar dados públicos de mercado da Binance, permitindo que assistentes de IA (como o Claude Desktop) consultem preços e variações de pares de criptomoedas em tempo real.
- Comunicação via stdio, seguindo o protocolo MCP.
- Consulta de preço atual e variação percentual em 24h de qualquer par listado na Binance (ex:
BTCUSDT,ETHUSDT). - Escrito em TypeScript, com validação de entrada via Zod.
- Node.js 20 ou superior
- npm
git clone https://github.com/warubert/mcp-server-example.git
cd mcp-server-example
npm installO projeto é escrito em TypeScript e precisa ser compilado antes de ser executado:
npm run buildIsso gera os arquivos JavaScript em dist/.
npm run startO servidor se comunica exclusivamente via stdio (entrada/saída padrão), então rodá-lo diretamente no terminal não produzirá interação visível — ele fica aguardando mensagens JSON-RPC de um cliente MCP.
Nota: logs de diagnóstico são escritos em
stderr, nunca emstdout. Isso é essencial no transporte stdio, pois qualquer texto fora do protocolo JSON-RPC escrito emstdoutquebra a comunicação com o cliente MCP.
Adicione o servidor ao arquivo de configuração do Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"binance": {
"command": "node",
"args": ["/caminho/absoluto/para/mcp-server-example/dist/index.js"]
}
}
}Reinicie o Claude Desktop após salvar a configuração.
| Tool | Descrição | Parâmetros |
|---|---|---|
getCurrentPrice |
Retorna o preço atual de um par de moedas na Binance. | symbol (string): par de negociação, ex: BTCUSDT |
get24hPriceChangePercent |
Retorna a variação percentual do par nas últimas 24 horas. | symbol (string): par de negociação, ex: BTCUSDT |
Os dados são obtidos em tempo real através do endpoint público GET /api/v3/ticker/24hr da API da Binance.
src/
BinanceService.ts # Integração com a API pública da Binance
BinanceTools.ts # Definição das tools MCP e seus schemas de entrada
MCPServer.ts # Configuração do servidor MCP e registro dos handlers
index.ts # Ponto de entrada: inicializa o transporte stdio
tsconfig.json
package.json
ISC