Skip to main content
Glama

Servidor MCP de CCXT

npm version npm downloads GitHub stars License: MIT

Versión en coreano (Korean version)

El servidor MCP de CCXT es un servidor que permite a los modelos de IA interactuar con las API de exchanges de criptomonedas a través del Protocolo de Contexto de Modelo (MCP). Este servidor utiliza la biblioteca CCXT para proporcionar acceso a más de 100 exchanges de criptomonedas y sus capacidades de trading.

🚀 Inicio rápido

# Install the package globally
npm install -g @lazydino/ccxt-mcp

# Run with default settings
ccxt-mcp

# or run without installation
npx @lazydino/ccxt-mcp

Related MCP server: EVM MCP Server

Instalación y uso

Instalación global

# Install the package globally
npm install -g @lazydino/ccxt-mcp

Ejecución con npx

Puedes ejecutarlo directamente sin instalación:

# Using default settings
npx @lazydino/ccxt-mcp

# Using custom configuration file
npx @lazydino/ccxt-mcp --config /path/to/config.json

Ver ayuda:

npx @lazydino/ccxt-mcp --help

Configuración

Registro del servidor MCP en Claude Desktop

  1. Abrir la configuración de Claude Desktop:

    • Ve al menú de configuración en la aplicación Claude Desktop

    • Busca la sección "MCP Servers"

  2. Añadir un nuevo servidor MCP:

    • Haz clic en el botón "Add Server"

    • Nombre del servidor: ccxt-mcp

    • Comando: npx @lazydino/ccxt-mcp

    • Argumentos adicionales (opcional): --config /ruta/a/config.json

  3. Guardar y probar el servidor:

    • Guarda la configuración

    • Prueba la conexión con el botón "Test Connection"

Métodos de configuración - Dos opciones

Opción 1: Incluir información de la cuenta directamente en la configuración de Claude Desktop (Método básico)

Este método incluye la información de la cuenta de CCXT directamente en el archivo de configuración de Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "ccxt-mcp": {
      "command": "npx",
      "args": ["-y", "@lazydino/ccxt-mcp"],
      "mcpBearerToken": "YOUR_MCP_TOKEN",
      "accounts": [
        {
          "name": "bybit_main",
          "exchangeId": "bybit",
          "apiKey": "YOUR_API_KEY",
          "secret": "YOUR_SECRET_KEY",
          "defaultType": "spot"
        },
        {
          "name": "bybit_futures",
          "exchangeId": "bybit",
          "apiKey": "YOUR_API_KEY",
          "secret": "YOUR_SECRET_KEY",
          "defaultType": "swap"
        }
      ]
    }
  }
}

Al usar este método, no necesitas un archivo de configuración separado. Todos los ajustes están integrados en el archivo de configuración de Claude Desktop.

Opción 2: Usar un archivo de configuración separado (Método avanzado)

Para separar la información de la cuenta en un archivo de configuración independiente, configúralo de la siguiente manera:

  1. Crear un archivo de configuración separado (p. ej., ccxt-config.json):

{
  "mcpBearerToken": "YOUR_MCP_TOKEN",
  "accounts": [
    {
      "name": "bybit_main",
      "exchangeId": "bybit",
      "apiKey": "YOUR_API_KEY",
      "secret": "YOUR_SECRET_KEY",
      "defaultType": "spot"
    },
    {
      "name": "bybit_futures",
      "exchangeId": "bybit",
      "apiKey": "YOUR_API_KEY",
      "secret": "YOUR_SECRET_KEY",
      "defaultType": "swap"
    }
  ]
}

Importante: El archivo de configuración debe contener una matriz accounts en el nivel raíz, como se muestra arriba.

Importante: Si ejecutas el servidor en modo HTTP+SSE (--sse), establece mcpBearerToken en el mismo archivo de configuración. Los clientes deben enviar Authorization: Bearer <mcpBearerToken> en las solicitudes.

  1. Especificar la ruta del archivo de configuración en la configuración de Claude Desktop:

{
  "mcpServers": {
    "ccxt-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@lazydino/ccxt-mcp",
        "--config",
        "/path/to/ccxt-config.json"
      ]
    }
  }
}

Nota: Al usar un archivo de configuración separado con la opción --config, el servidor buscará la matriz accounts directamente en la raíz del archivo JSON, no en la ruta mcpServers.ccxt-mcp.accounts.

  1. Ejecución con archivo de configuración externo desde la línea de comandos:

# Using custom configuration file
npx @lazydino/ccxt-mcp --config /path/to/ccxt-config.json

Puedes encontrar un ejemplo de archivo de configuración en config/ccxt-config.example.json en el repositorio.

Razones para usar un archivo de configuración separado:

  • Evita problemas de referencia recursiva

  • Separa información sensible como las claves API

  • Configuración más sencilla para múltiples entornos (desarrollo, pruebas, producción)

  • Control de versiones mejorado del archivo de configuración

Características principales

  • Recuperación de información de mercado:

    • Listar exchanges

    • Ver información de mercado por exchange

    • Obtener información de precios para símbolos específicos

    • Ver información del libro de órdenes para símbolos específicos

    • Buscar datos históricos OHLCV

  • Funciones de trading:

    • Crear órdenes de mercado/límite

    • Cancelar órdenes y verificar estado

    • Ver saldos de cuenta

    • Consultar historial de trading

  • Análisis de trading:

    • Análisis de rendimiento diario/semanal/mensual

    • Cálculo de tasa de aciertos (últimos 7 días, 30 días, histórico)

    • Ratio promedio de beneficio/pérdida (R-multiple)

    • Análisis de series de pérdidas/ganancias consecutivas máximas

    • Seguimiento de variación de activos

    • Métricas de rendimiento integrales

    • Reconocimiento de patrones de trading

    • Cálculos de retorno basados en periodos

  • Gestión de posiciones:

    • Trading basado en ratio de capital (p. ej., entrar con el 5% del capital de la cuenta)

    • Configuración de apalancamiento en mercado de futuros (1-100x)

    • Dimensionamiento dinámico de posiciones (basado en volatilidad)

    • Implementación de estrategia de compra/venta dividida

  • Gestión de riesgos:

    • Configuración de stop loss basada en indicadores técnicos (p. ej., punto más bajo entre 10 velas en gráfico de 5 minutos)

    • Stop loss/take profit basado en volatilidad (múltiplos ATR)

    • Límite máximo de pérdida permitida (diario/semanal)

    • Configuración dinámica de take profit (trailing profit)

Cómo funciona

User <--> AI Model(Claude/GPT) <--> MCP Protocol <--> CCXT MCP Server <--> Cryptocurrency Exchange API
  1. Usuario: Solicitudes como "Dime el precio de Bitcoin" o "Compra Ethereum en mi cuenta de Binance"

  2. Modelo de IA: Entiende las solicitudes del usuario y determina qué herramientas/recursos MCP utilizar

  3. Protocolo MCP: Comunicación estandarizada entre la IA y el servidor MCP de CCXT

  4. Servidor MCP de CCXT: Se comunica con las API de los exchanges de criptomonedas usando la biblioteca CCXT

  5. API del Exchange: Proporciona datos reales y ejecuta órdenes de trading

Uso con modelos de IA

Cuando se registra en Claude Desktop, puedes realizar los siguientes tipos de solicitudes a los modelos de IA:

Precauciones y prompts recomendados

Al usar modelos de IA, considera las siguientes precauciones y utiliza el prompt a continuación para un trading efectivo:

Your goal is to execute trades using the ccxt tools as much as possible
Cautions:
- Accurately identify whether it's a futures market or spot market before proceeding with trades
- If there's no instruction about percentage of capital or amount to use, always calculate and execute trades using the entire available capital

Notas:

  • Los modelos de IA a veces confunden el trading de futuros con el trading al contado (spot).

  • Sin una guía clara sobre el tamaño del capital de trading, la IA podría confundirse.

  • Usar el prompt anterior ayuda a comunicar claramente tus intenciones de trading.

Ejemplos de consultas básicas

Check and compare the current Bitcoin price on binance and coinbase.

Ejemplos de consultas de trading avanzadas

Gestión de posiciones

Open a long position on BTC/USDT futures market in my Bybit account (bybit_futures) with 5% of capital using 10x leverage.
Enter based on moving average crossover strategy and set stop loss at the lowest point among the 12 most recent 5-minute candles.

Análisis de rendimiento

Analyze my Binance account (bybit_main) trading records for the last 7 days and show me the win rate, average profit, and maximum consecutive losses.

Análisis detallado de trading

Analyze my trading performance on the bybit_futures account for BTC/USDT over the last 30 days. Calculate win rate, profit factor, and identify any patterns in my winning trades.
Show me the monthly returns for my bybit_main account over the past 90 days and identify my best and worst trading months.
Analyze my consecutive wins and losses on my bybit_futures account and tell me if I have any psychological patterns affecting my trading after losses.

Desarrollo

Construcción desde el código fuente

# Clone repository
git clone https://github.com/lazy-dinosaur/ccxt-mcp.git

# Navigate to project directory
cd ccxt-mcp

# Install dependencies
npm install

# Build
npm run build

Docker

Construir y ejecutar con Docker Compose

  1. Crea un archivo de configuración:

cp config/ccxt-config.example.json config/ccxt-config.json

Luego completa tus claves API reales en config/ccxt-config.json. También establece mcpBearerToken en ese mismo archivo de configuración. 2. Construye la imagen:

docker compose build
  1. Inicia el servidor MCP en segundo plano (modo SSE en localhost:2298):

docker compose up -d
  1. Verifica el endpoint de salud local:

curl -H "Authorization: Bearer YOUR_MCP_TOKEN" http://127.0.0.1:2298/healthz

Esta configuración de Compose ejecuta MCP sobre HTTP+SSE (/sse + /messages) en localhost:2298 para proxy inverso.

Configuración de cliente MCP remoto

Si tu cliente MCP se ejecuta en otro host, usa un proxy inverso Nginx en esta máquina.

  1. Copia ccxt-mcp.nginx a tu ubicación de configuración de Nginx y actualiza las rutas de los certificados:

sudo cp ccxt-mcp.nginx /etc/nginx/conf.d/ccxt-mcp.conf
  1. Edita /etc/nginx/conf.d/ccxt-mcp.conf y establece:

  • ssl_certificate

  • ssl_certificate_key

  • Reenvío de encabezado de autorización (ya incluido en este archivo)

  1. Recarga Nginx:

sudo nginx -t && sudo systemctl reload nginx
  1. En tu cliente MCP, configura la URL del servidor MCP a tu endpoint TLS:

  • URL SSE: https://TU_HOSTNAME_O_IP:42299/sse

  • URL de mensajes: https://TU_HOSTNAME_O_IP:42299/messages

  • Encabezado: Authorization: Bearer TU_TOKEN_MCP

Puedes generar un token fuerte con:

openssl rand -hex 32

Ejemplo de configuración:

{
  "mcpBearerToken": "YOUR_MCP_TOKEN",
  "accounts": [
    {
      "name": "bybit_main",
      "exchangeId": "bybit",
      "apiKey": "YOUR_API_KEY",
      "secret": "YOUR_SECRET_KEY"
    }
  ]
}

Nota sobre puertos:

  • 42298 es HTTP (solo redirección)

  • 42299 es HTTPS

  • 2298 proviene de CCXT en un teclado telefónico

Si tu cliente MCP acepta servidores MCP basados en comandos en lugar de configuración de URL, configura ccxt-mcp con:

  • Comando: docker

  • Argumentos:

[
  "run",
  "--rm",
  "-i",
  "-p",
  "127.0.0.1:2298:2298",
  "-v",
  "/absolute/path/to/ccxt-mcp/config/ccxt-config.json:/config/ccxt-config.json:ro",
  "ccxt-mcp:local",
  "--sse",
  "--host",
  "0.0.0.0",
  "--port",
  "2298",
  "--config",
  "/config/ccxt-config.json"
]

Construye la imagen primero con docker compose build.

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Por favor, siéntete libre de enviar un Pull Request.

📄 Licencia

Distribuido bajo la Licencia MIT. Consulta el archivo LICENSE para más información.

❤️ Soporte

Si encuentras útil este proyecto, ¡por favor considera darle una ⭐️ en GitHub!

Install Server
A
license - permissive license
B
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lazy-dinosaur/ccxt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server