CCXT MCP Server

Integre-se com exchanges de criptomoedas usando a biblioteca CCXT.

Documentação

Servidor MCP CCXT

CCXT Logo

Version MCP Standard CCXT smithery badge

Integração de exchanges de criptomoedas de alta performance usando MCP (Model Context Protocol) e CCXT.

Recursos

  • 🚀 Suporte a Exchanges: Conecta-se a mais de 20 exchanges de criptomoedas
  • 🔃 Tipos de Mercado: Suporta mercados spot, futuros, swap e outros
  • 🔧 Configuração de Proxy: Opções para acessar exchanges através de proxies
  • 📊 Rápido e Confiável: Cache otimizado e limitação de taxa
  • 🌐 Padrão MCP: Compatível com LLMs como Claude e GPT via MCP

Arquitetura de Integração do Servidor MCP CCXT

CCXT MCP Server Integration Architecture

O Servidor MCP CCXT conecta modelos de linguagem a exchanges de criptomoedas através do Model Context Protocol. Ele atua como uma ponte que permite que LLMs acessem dados de mercado em tempo real e executem operações de negociação em múltiplas exchanges através de uma API unificada.

A arquitetura inclui:

  • Clientes LLM (Claude e outros modelos compatíveis com MCP) que enviam solicitações
  • O Model Context Protocol (MCP) que padroniza a comunicação
  • O Servidor MCP CCXT que processa solicitações e gerencia interações com exchanges
  • A Biblioteca CCXT que fornece acesso unificado às APIs de exchanges
  • Conexões com múltiplas exchanges de criptomoedas

Arquitetura de Código do Servidor MCP CCXT

CCXT MCP Server Code Architecture

O servidor está organizado em três módulos principais para melhor manutenibilidade e extensibilidade:

  • Exchange: Gerencia instâncias de exchanges, credenciais e validação de símbolos
  • Utils: Fornece funcionalidades de cache, limitação de taxa e registro
  • Tools: Implementa ferramentas e recursos MCP para interação com exchanges

Início Rápido

Instalação via Smithery

Para instalar o mcp-server-ccxt para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @doggybee/mcp-server-ccxt --client claude

Pacote NPM (Recomendado)

Você pode instalar o Servidor MCP CCXT a partir do npm:

# Install globally
npm install -g @mcpfun/mcp-server-ccxt

# Start the server
mcp-server-ccxt

Ou executar diretamente:

npx @mcpfun/mcp-server-ccxt

Instalação Manual

Alternativamente, você pode clonar e compilar o repositório:

# Clone the repository
git clone https://github.com/doggybee/mcp-server-ccxt.git
cd mcp-server-ccxt

# Install dependencies
npm install

# Build the server
npm run build

# Start the server
npm start

Configuração

  1. Crie um arquivo de ambiente

    cp .env.example .env
    
  2. Edite o arquivo .env para adicionar suas chaves de API da exchange

    # Default exchange (optional)
    DEFAULT_EXCHANGE=binance
    
    # Default market type (optional)
    DEFAULT_MARKET_TYPE=spot 
    
    # API credentials (optional)
    BINANCE_API_KEY=your_api_key
    BINANCE_SECRET=your_api_secret
    # For exchanges requiring passphrase (e.g., KuCoin)
    KUCOIN_API_KEY=your_kucoin_api_key
    KUCOIN_SECRET=your_kucoin_secret
    KUCOIN_PASSPHRASE=your_kucoin_passphrase
    
    # Proxy configuration (optional)
    USE_PROXY=false
    PROXY_URL=http://username:password@your-proxy-server:port
    # Legacy format (still supported but recommended to use the integrated URL format above)
    # PROXY_USERNAME=
    # PROXY_PASSWORD=
    

Uso

Nota: Se você encontrar problemas com a comunicação MCP, consulte o Guia de Solução de Problemas para soluções.

Executando o Servidor

Inicie o servidor:

# If installed globally via npm
mcp-server-ccxt

# If installed manually
npm start

Usando com Claude for Desktop

  1. Adicione o servidor ao seu claude_desktop_config.json:

Se instalado via npm (globalmente):

{
  "mcpServers": {
    "ccxt": {
      "command": "mcp-server-ccxt"
    }
  }
}

Se instalado manualmente:

{
  "mcpServers": {
    "ccxt": {
      "command": "node",
      "args": [
        "/path/to/mcp-server-ccxt/build/index.js"
      ]
    }
  }
}
  1. Reinicie o Claude for Desktop

Usando como Módulo em Outro Projeto

Você também pode usar este pacote como um módulo em seus próprios projetos Node.js:

// Import the CCXT MCP Server
import '@mcpfun/mcp-server-ccxt';

// The server starts automatically when imported
// You can configure it through environment variables

Exemplos de Consultas

Aqui estão alguns exemplos de consultas que você pode usar com o servidor MCP:

  • "Qual é o preço atual do Bitcoin na Binance?"
  • "Mostre-me o livro de ofertas para ETH/USDT na Coinbase"
  • "Obtenha os dados OHLCV de 1 hora para BTC/USDT na Binance das últimas 24 velas"
  • "Compare o preço de SOL/USDT em diferentes exchanges"
  • "Qual é o meu saldo atual na Binance?" (requer chaves de API)
  • "Coloque uma ordem de compra a mercado de 0.1 ETH na Kraken" (requer chaves de API)

Ferramentas Disponíveis

Ferramentas de API Pública

  • list-exchanges: Lista todas as exchanges de criptomoedas disponíveis
  • get-ticker: Obtém informações de ticker atuais para um par de negociação
  • batch-get-tickers: Obtém informações de ticker para múltiplos pares de negociação de uma vez
  • get-orderbook / get-order-book: Obtém o livro de ofertas de mercado para um par de negociação
  • get-ohlcv: Obtém dados de velas OHLCV para um par de negociação
  • get-trades: Obtém negociações recentes para um par de negociação
  • get-markets: Obtém todos os mercados disponíveis para uma exchange
  • get-exchange-info: Obtém informações e status da exchange
  • get-leverage-tiers: Obtém níveis de alavancagem de futuros
  • get-funding-rates: Obtém taxas de financiamento atuais
  • get-positions: Obtém informações de posições abertas
  • get-open-orders: Obtém todas as ordens abertas
  • get-order-history: Obtém histórico de ordens

Ferramentas de API Privada (requer chaves de API)

  • account-balance: Obtém o saldo da sua conta em uma exchange de criptomoedas
  • place-market-order: Coloca uma ordem a mercado em uma exchange
  • place-limit-order: Coloca uma ordem limitada em uma exchange
  • cancel-order: Cancela uma ordem existente
  • cancel-all-orders: Cancela todas as ordens abertas
  • set-leverage: Define alavancagem para futuros
  • set-margin-mode: Define modo de margem para futuros
  • place-futures-market-order: Coloca ordens a mercado de futuros
  • place-futures-limit-order: Coloca ordens limitadas de futuros
  • transfer-funds: Transfere fundos entre contas (ex.: spot para futuros)

Ferramentas de Configuração e Utilitários

  • cache-stats: Obtém estatísticas de cache do CCXT
  • clear-cache: Limpa o cache do CCXT
  • set-log-level: Define o nível de registro
  • get-proxy-config: Obtém configurações de proxy
  • set-proxy-config: Configura configurações de proxy
  • set-market-type: Define o tipo de mercado padrão
  • set-default-exchange: Altera a exchange padrão
  • system-info: Obtém informações do sistema e do ambiente

Otimizações de Performance

O MCP-CCXT inclui várias otimizações para garantir alta performance:

  1. Sistema de Cache LRU:

    • Diferentes TTLs para diferentes tipos de dados
    • Dados de ticker: 10 segundos
    • Dados de livro de ofertas: 5 segundos
    • Dados de mercado: 1 hora
  2. Limitação de Taxa Adaptativa:

    • Ajusta automaticamente as taxas de solicitação com base nas respostas da exchange
    • Implementa backoff exponencial para erros
    • Gerencia solicitações concorrentes por exchange
  3. Gerenciamento de Conexão com Exchanges:

    • Inicialização eficiente de instâncias de exchange
    • Tratamento adequado de erros e tentativas

Melhores Práticas de Segurança

Segurança das Chaves de API

  1. Crie Chaves de API Dedicadas:

    • Crie chaves de API separadas para diferentes aplicações/propósitos
    • Nunca reutilize chaves de API em diferentes serviços ou aplicações
  2. Limite as Permissões das Chaves de API:

    • Ative apenas as permissões necessárias (ex.: somente leitura para dados de mercado)
    • Desative permissões de saque se você precisar apenas de funcionalidade de negociação
    • Use lista de permissões de IP quando disponível para restringir acesso a IPs conhecidos
  3. Armazenamento Seguro:

    • Nunca envie chaves de API para sistemas de controle de versão
    • Armazene chaves de API em variáveis de ambiente ou em um cofre seguro
    • Use arquivos .env que são excluídos do git via .gitignore

Aviso de Risco

Este software é fornecido apenas para fins informativos. Usar este software para interagir com exchanges de criptomoedas envolve riscos significativos:

  • Risco Financeiro: Negociação de criptomoedas envolve risco de perda
  • Segurança da API: Garanta que suas chaves de API tenham limites de permissão apropriados
  • Sem Conselho de Investimento: Esta ferramenta não fornece conselhos de investimento
  • Sem Garantia: O software é fornecido "como está", sem garantia de qualquer tipo

Licença

Este projeto é licenciado sob a Licença MIT - veja o arquivo LICENSE.txt para detalhes.

Direitos Autorais e Atribuição

Este projeto usa a biblioteca CCXT (https://github.com/ccxt/ccxt), que é:

Copyright (c) 2016-2024 CCXT developers

CCXT é lançado sob a Licença MIT, que está incluída abaixo:

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Para problemas, solicitações de recursos ou contribuições, visite o repositório GitHub.