CCXT MCP Server

by doggybee
Verified
MIT License
127
4
  • Apple

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides access to market data, trading capabilities, and account information on Binance. Enables retrieving ticker information, order books, candlestick data, and placing market orders with proper API credentials.

  • Enables interaction with Coinbase exchange, allowing users to fetch market data, view order books, check account balances, and execute trades when configured with appropriate API keys.

  • Provides tools for accessing KuCoin exchange data and trading functionality, including market information, ticker data, order books, and trading capabilities when configured with API credentials.

Servidor CCXT MCP

Integración de intercambio de criptomonedas de alto rendimiento utilizando MCP (Protocolo de contexto de modelo) y CCXT.

Características

  • 🚀 Soporte de intercambio : se conecta a más de 20 intercambios de criptomonedas
  • 🔃 Tipos de mercado : Admite mercados al contado, futuros, swaps y más
  • 🔧 Configuración de Proxy : Opciones para acceder a los exchanges a través de proxies
  • 📊 Rápido y confiable : almacenamiento en caché optimizado y limitación de velocidad
  • 🌐 Estándar MCP : Compatible con LLM como Claude y GPT a través de MCP

Arquitectura de integración del servidor CCXT MCP

El servidor CCXT MCP conecta los modelos de lenguaje con las plataformas de intercambio de criptomonedas mediante el Protocolo de Contexto de Modelo. Actúa como puente que permite a los LLM acceder a datos de mercado en tiempo real y ejecutar operaciones de trading en múltiples plataformas mediante una API unificada.

La arquitectura incluye:

  • Clientes LLM (Claude y otros modelos compatibles con MCP) que envían solicitudes
  • El Protocolo de Contexto Modelo (MCP) que estandariza la comunicación
  • El servidor MCP CCXT que procesa solicitudes y administra interacciones de intercambio
  • La biblioteca CCXT que proporciona acceso unificado a las API de intercambio
  • Conexiones a múltiples intercambios de criptomonedas

Arquitectura del código del servidor CCXT MCP

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

  • Exchange : administra instancias de intercambio, credenciales y validación de símbolos.
  • Utilidades : proporciona funciones de almacenamiento en caché, limitación de velocidad y registro.
  • Herramientas : Implementa herramientas y recursos MCP para la interacción de intercambio

Inicio rápido

Instalación mediante herrería

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)

Puede instalar CCXT MCP Server desde npm:

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

O ejecutar directamente:

npx @mcpfun/mcp-server-ccxt

Instalación manual

Alternativamente, puedes clonar y construir 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. Crear un archivo de entorno
    cp .env.example .env
  2. Edite el archivo .env para agregar sus claves 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 # 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 encuentra algún problema con la comunicación MCP, consulte la Guía de solución de problemas para obtener soluciones.

Ejecución del servidor

Iniciar el servidor:

# If installed globally via npm mcp-server-ccxt # If installed manually npm start

Uso con Claude para escritorio

  1. Agregue el servidor a su claude_desktop_config.json :

Si se instala a través de npm (globalmente):

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

Si se instala manualmente:

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

Usar 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

A continuación se muestran algunos ejemplos de consultas que puede utilizar con el servidor MCP:

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

Herramientas disponibles

Herramientas de API públicas

  • list-exchanges : lista todos los intercambios de criptomonedas disponibles
  • get-ticker : Obtenga información actualizada del ticker para un par comercial
  • batch-get-tickers : Obtenga información de tickers para múltiples pares comerciales a la vez
  • get-orderbook / get-order-book : Obtener el libro de órdenes de mercado para un par comercial
  • get-ohlcv : obtiene datos de velas OHLCV para un par comercial
  • get-trades : Obtenga operaciones recientes de un par comercial
  • get-markets : Obtenga todos los mercados disponibles para un intercambio
  • get-exchange-info : Obtener información y estado del intercambio
  • get-leverage-tiers : Obtener niveles de apalancamiento de futuros
  • get-funding-rates : Obtenga las tasas de financiación actuales
  • get-positions : Obtener información sobre puestos vacantes
  • get-open-orders : Obtener todos los pedidos abiertos
  • get-order-history : Obtener el historial de pedidos

Herramientas API privadas (requiere claves API)

  • account-balance : Obtenga el saldo de su cuenta de un intercambio de criptomonedas
  • place-market-order : Colocar una orden de mercado en una bolsa
  • place-limit-order : Colocar una orden limitada en una bolsa
  • cancel-order : Cancelar un pedido existente
  • cancel-all-orders : Cancelar todos los pedidos abiertos
  • set-leverage : Establecer apalancamiento para futuros
  • set-margin-mode : Establecer el modo de margen para futuros
  • place-futures-market-order : colocar órdenes en el mercado de futuros
  • place-futures-limit-order : colocar órdenes límite de futuros
  • transfer-funds : transferir fondos entre cuentas (por ejemplo, al contado a futuros)

Herramientas de configuración y utilidades

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

Optimizaciones de rendimiento

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

  1. Sistema de almacenamiento en caché LRU :
    • Diferentes TTL para diferentes tipos de datos
    • Datos del ticker: 10 segundos
    • Datos del libro de pedidos: 5 segundos
    • Datos de mercado: 1 hora
  2. Limitación de velocidad adaptativa :
    • Ajusta automáticamente las tasas de solicitud en función de las respuestas del intercambio.
    • Implementa un retroceso exponencial para errores
    • Gestiona solicitudes simultáneas por intercambio
  3. Gestión de conexiones de Exchange :
    • Inicialización eficiente de instancias de intercambio
    • Manejo adecuado de errores y reintentos

Mejores prácticas de seguridad

Seguridad de la clave API

  1. Crear claves API dedicadas :
    • Cree claves API independientes para diferentes aplicaciones y propósitos
    • Nunca reutilice claves API en diferentes servicios o aplicaciones
  2. Limitar permisos de clave API :
    • Habilite solo los permisos que necesita (por ejemplo, solo lectura para datos de mercado)
    • Deshabilite los permisos de retiro si solo necesita la funcionalidad comercial
    • Utilice la lista blanca de IP cuando esté disponible para restringir el acceso a IP conocidas
  3. Almacenamiento seguro :
    • Nunca envíe claves API a sistemas de control de versiones
    • Almacenar claves API en variables de entorno o en una bóveda segura
    • Utilice archivos .env que estén excluidos de git a través de .gitignore

Descargo de responsabilidad de riesgos

Este software se proporciona únicamente con fines informativos. Su uso para interactuar con plataformas de intercambio de criptomonedas conlleva riesgos significativos:

  • Riesgo financiero : el comercio de criptomonedas implica riesgo de pérdida.
  • Seguridad de la API : asegúrese de que sus claves API tengan límites de permisos adecuados
  • 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: consulte el archivo LICENSE.txt para obtener 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, visite el repositorio de GitHub .

ID: zrx6mdpyxy