CCXT MCP Server

Integra con exchanges de criptomonedas usando la librería CCXT.

Documentación

Servidor MCP de CCXT

CCXT Logo

Version MCP Standard CCXT smithery badge

Integración de intercambios de criptomonedas de alto rendimiento utilizando MCP (Model Context Protocol) y CCXT.

Características

  • 🚀 Soporte de intercambios: Se conecta a más de 20 intercambios de criptomonedas
  • 🔃 Tipos de mercado: Admite mercados spot, de futuros, swaps y más
  • 🔧 Configuración de proxy: Opciones para acceder a intercambios a través de proxies
  • 📊 Rápido y confiable: Caché optimizada y limitación de velocidad
  • 🌐 Estándar MCP: Compatible con LLMs como Claude y GPT mediante MCP

Arquitectura de Integración del Servidor MCP de CCXT

CCXT MCP Server Integration Architecture

El Servidor MCP de CCXT conecta modelos de lenguaje a intercambios de criptomonedas a través del Model Context Protocol. Actúa como un puente que permite a los LLMs acceder a datos de mercado en tiempo real y ejecutar operaciones de trading en múltiples intercambios mediante una API unificada.

La arquitectura incluye:

  • Clientes LLM (Claude y otros modelos compatibles con MCP) que envían solicitudes
  • El Model Context Protocol (MCP) que estandariza la comunicación
  • El Servidor MCP de CCXT que procesa solicitudes y gestiona interacciones con intercambios
  • La Biblioteca CCXT que proporciona acceso unificado a las APIs de intercambios
  • Conexiones a múltiples intercambios de criptomonedas

Arquitectura de Código del Servidor MCP de CCXT

CCXT MCP Server Code Architecture

El servidor está organizado en tres módulos principales para una mejor mantenibilidad y extensibilidad:

  • Exchange: Gestiona instancias de intercambio, credenciales y validación de símbolos
  • Utils: Proporciona funcionalidad de caché, limitación de velocidad y registro
  • Tools: Implementa herramientas y recursos MCP para la interacción con intercambios

Inicio Rápido

Instalación mediante Smithery

Para instalar mcp-server-ccxt para Claude Desktop automáticamente a través de Smithery:

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

Paquete NPM (Recomendado)

Puedes instalar el Servidor MCP de CCXT desde npm:

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

# Start the server
mcp-server-ccxt

O ejecutarlo directamente:

npx @mcpfun/mcp-server-ccxt

Instalación Manual

Alternativamente, puedes clonar y compilar el repositorio:

# 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

Configuración

  1. Crea un archivo de entorno

    cp .env.example .env
    
  2. Edita el archivo .env para agregar tus claves de API de intercambio

    # 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: Si encuentras problemas con la comunicación MCP, consulta la Guía de Solución de Problemas para obtener soluciones.

Ejecutando el Servidor

Inicia el servidor:

# If installed globally via npm
mcp-server-ccxt

# If installed manually
npm start

Uso con Claude for Desktop

  1. Agrega el servidor a tu claude_desktop_config.json:

Si se instaló mediante npm (globalmente):

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

Si se instaló manualmente:

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

Uso como Módulo en Otro Proyecto

También puedes usar este paquete como módulo en tus propios proyectos 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

Consultas de Ejemplo

Aquí hay algunas consultas de ejemplo que puedes usar con el servidor MCP:

  • "¿Cuál es el precio actual de Bitcoin en Binance?"
  • "Muéstrame el libro de órdenes para ETH/USDT en Coinbase"
  • "Obtén los datos OHLCV de 1 hora para BTC/USDT en Binance de las últimas 24 velas"
  • "Compara el precio de SOL/USDT en diferentes intercambios"
  • "¿Cuál es mi saldo actual en Binance?" (requiere claves de API)
  • "Coloca una orden de compra de mercado por 0.1 ETH en Kraken" (requiere claves de API)

Herramientas Disponibles

Herramientas de API Pública

  • list-exchanges: Lista todos los intercambios de criptomonedas disponibles
  • get-ticker: Obtiene información de ticker actual para un par de trading
  • batch-get-tickers: Obtiene información de ticker para múltiples pares de trading a la vez
  • get-orderbook / get-order-book: Obtiene el libro de órdenes de mercado para un par de trading
  • get-ohlcv: Obtiene datos de velas OHLCV para un par de trading
  • get-trades: Obtiene operaciones recientes para un par de trading
  • get-markets: Obtiene todos los mercados disponibles para un intercambio
  • get-exchange-info: Obtiene información y estado del intercambio
  • get-leverage-tiers: Obtiene niveles de apalancamiento de futuros
  • get-funding-rates: Obtiene tasas de financiación actuales
  • get-positions: Obtiene información de posiciones abiertas
  • get-open-orders: Obtiene todas las órdenes abiertas
  • get-order-history: Obtiene el historial de órdenes

Herramientas de API Privada (requiere claves de API)

  • account-balance: Obtiene el saldo de tu cuenta desde un intercambio de criptomonedas
  • place-market-order: Coloca una orden de mercado en un intercambio
  • place-limit-order: Coloca una orden limitada en un intercambio
  • cancel-order: Cancela una orden existente
  • cancel-all-orders: Cancela todas las órdenes abiertas
  • set-leverage: Establece el apalancamiento para futuros
  • set-margin-mode: Establece el modo de margen para futuros
  • place-futures-market-order: Coloca órdenes de mercado de futuros
  • place-futures-limit-order: Coloca órdenes limitadas de futuros
  • transfer-funds: Transfiere fondos entre cuentas (por ejemplo, spot a futuros)

Herramientas de Configuración y Utilidades

  • cache-stats: Obtiene estadísticas de caché de CCXT
  • clear-cache: Limpia la caché de CCXT
  • set-log-level: Establece el nivel de registro
  • get-proxy-config: Obtiene la configuración de proxy
  • set-proxy-config: Configura los ajustes de proxy
  • set-market-type: Establece el tipo de mercado predeterminado
  • set-default-exchange: Cambia el intercambio predeterminado
  • system-info: Obtiene información del sistema y del entorno

Optimizaciones de Rendimiento

MCP-CCXT incluye varias optimizaciones para garantizar un alto rendimiento:

  1. Sistema de Caché LRU:

    • Diferentes TTLs para diferentes tipos de datos
    • Datos de ticker: 10 segundos
    • Datos de libro de órdenes: 5 segundos
    • Datos de mercado: 1 hora
  2. Limitación de Velocidad Adaptativa:

    • Ajusta automáticamente las tasas de solicitud según las respuestas del intercambio
    • Implementa retroceso exponencial para errores
    • Gestiona solicitudes concurrentes por intercambio
  3. Gestión de Conexiones de Intercambio:

    • Inicialización eficiente de instancias de intercambio
    • Manejo adecuado de errores y reintentos

Mejores Prácticas de Seguridad

Seguridad de Claves de API

  1. Crea Claves de API Dedicadas:

    • Crea claves de API separadas para diferentes aplicaciones/propósitos
    • Nunca reutilices claves de API entre diferentes servicios o aplicaciones
  2. Limita los Permisos de las Claves de API:

    • Habilita solo los permisos que necesitas (por ejemplo, solo lectura para datos de mercado)
    • Desactiva los permisos de retiro si solo necesitas funcionalidad de trading
    • Usa listas blancas de IP cuando estén disponibles para restringir el acceso a IPs conocidas
  3. Almacenamiento Seguro:

    • Nunca subas claves de API a sistemas de control de versiones
    • Almacena las claves de API en variables de entorno o en un almacén seguro
    • Usa archivos .env que estén excluidos de git mediante .gitignore

Descargo de Responsabilidad de Riesgo

Este software se proporciona únicamente con fines informativos. Usar este software para interactuar con intercambios de criptomonedas implica riesgos significativos:

  • Riesgo Financiero: El trading de criptomonedas implica riesgo de pérdida
  • Seguridad de API: Asegúrate de que tus claves de API tengan límites de permisos apropiados
  • Sin Asesoramiento de Inversión: Esta herramienta no proporciona asesoramiento de inversión
  • Sin Garantía: El software se proporciona "tal cual" sin garantía de ningún tipo

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE.txt para más detalles.

Derechos de Autor y Atribución

Este proyecto utiliza la biblioteca CCXT (https://github.com/ccxt/ccxt), que es:

Copyright (c) 2016-2024 CCXT developers

CCXT se publica bajo la Licencia MIT, que se incluye a continuación:

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, solicitudes de funciones o contribuciones, visita el repositorio de GitHub.