CCXT MCP Server
Servidor MCP de CCXT
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-mcpRelated MCP server: EVM MCP Server
Instalación y uso
Instalación global
# Install the package globally
npm install -g @lazydino/ccxt-mcpEjecució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.jsonVer ayuda:
npx @lazydino/ccxt-mcp --helpConfiguración
Registro del servidor MCP en Claude Desktop
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"
Añadir un nuevo servidor MCP:
Haz clic en el botón "Add Server"
Nombre del servidor:
ccxt-mcpComando:
npx @lazydino/ccxt-mcpArgumentos adicionales (opcional):
--config /ruta/a/config.json
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:
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
accountsen el nivel raíz, como se muestra arriba.
Importante: Si ejecutas el servidor en modo HTTP+SSE (
--sse), establecemcpBearerTokenen el mismo archivo de configuración. Los clientes deben enviarAuthorization: Bearer <mcpBearerToken>en las solicitudes.
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 matrizaccountsdirectamente en la raíz del archivo JSON, no en la rutamcpServers.ccxt-mcp.accounts.
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.jsonPuedes 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 APIUsuario: Solicitudes como "Dime el precio de Bitcoin" o "Compra Ethereum en mi cuenta de Binance"
Modelo de IA: Entiende las solicitudes del usuario y determina qué herramientas/recursos MCP utilizar
Protocolo MCP: Comunicación estandarizada entre la IA y el servidor MCP de CCXT
Servidor MCP de CCXT: Se comunica con las API de los exchanges de criptomonedas usando la biblioteca CCXT
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 capitalNotas:
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 buildDocker
Construir y ejecutar con Docker Compose
Crea un archivo de configuración:
cp config/ccxt-config.example.json config/ccxt-config.jsonLuego 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 buildInicia el servidor MCP en segundo plano (modo SSE en localhost:2298):
docker compose up -dVerifica el endpoint de salud local:
curl -H "Authorization: Bearer YOUR_MCP_TOKEN" http://127.0.0.1:2298/healthzEsta 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.
Copia
ccxt-mcp.nginxa 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.confEdita
/etc/nginx/conf.d/ccxt-mcp.confy establece:
ssl_certificatessl_certificate_keyReenvío de encabezado de autorización (ya incluido en este archivo)
Recarga Nginx:
sudo nginx -t && sudo systemctl reload nginxEn tu cliente MCP, configura la URL del servidor MCP a tu endpoint TLS:
URL SSE:
https://TU_HOSTNAME_O_IP:42299/sseURL de mensajes:
https://TU_HOSTNAME_O_IP:42299/messagesEncabezado:
Authorization: Bearer TU_TOKEN_MCP
Puedes generar un token fuerte con:
openssl rand -hex 32Ejemplo de configuración:
{
"mcpBearerToken": "YOUR_MCP_TOKEN",
"accounts": [
{
"name": "bybit_main",
"exchangeId": "bybit",
"apiKey": "YOUR_API_KEY",
"secret": "YOUR_SECRET_KEY"
}
]
}Nota sobre puertos:
42298es HTTP (solo redirección)42299es HTTPS2298proviene deCCXTen 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:
dockerArgumentos:
[
"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!
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