CCXT MCP Server
Integre-se com exchanges de criptomoedas usando a biblioteca CCXT.
Documentação
Servidor MCP CCXT
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
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
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
-
Crie um arquivo de ambiente
cp .env.example .env -
Edite o arquivo
.envpara 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
- 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"
]
}
}
}
- 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íveisget-ticker: Obtém informações de ticker atuais para um par de negociaçãobatch-get-tickers: Obtém informações de ticker para múltiplos pares de negociação de uma vezget-orderbook/get-order-book: Obtém o livro de ofertas de mercado para um par de negociaçãoget-ohlcv: Obtém dados de velas OHLCV para um par de negociaçãoget-trades: Obtém negociações recentes para um par de negociaçãoget-markets: Obtém todos os mercados disponíveis para uma exchangeget-exchange-info: Obtém informações e status da exchangeget-leverage-tiers: Obtém níveis de alavancagem de futurosget-funding-rates: Obtém taxas de financiamento atuaisget-positions: Obtém informações de posições abertasget-open-orders: Obtém todas as ordens abertasget-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 criptomoedasplace-market-order: Coloca uma ordem a mercado em uma exchangeplace-limit-order: Coloca uma ordem limitada em uma exchangecancel-order: Cancela uma ordem existentecancel-all-orders: Cancela todas as ordens abertasset-leverage: Define alavancagem para futurosset-margin-mode: Define modo de margem para futurosplace-futures-market-order: Coloca ordens a mercado de futurosplace-futures-limit-order: Coloca ordens limitadas de futurostransfer-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 CCXTclear-cache: Limpa o cache do CCXTset-log-level: Define o nível de registroget-proxy-config: Obtém configurações de proxyset-proxy-config: Configura configurações de proxyset-market-type: Define o tipo de mercado padrãoset-default-exchange: Altera a exchange padrãosystem-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:
-
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
-
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
-
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
-
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
-
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
-
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
.envque 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.