ctrader-mcp-server
Servidor MCP de cTrader
Un servidor independiente del Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA interactuar con la plataforma de trading cTrader.
🚀 ¿Qué es esto?
Este servidor MCP permite a asistentes de IA como Claude ejecutar operaciones, analizar mercados y gestionar posiciones en cTrader a través de conversaciones en lenguaje natural.
Ejemplos de conversaciones:
"Muéstrame el saldo de mi cuenta" → Obtiene saldo, capital, posiciones
"Compra 0.01 lotes de EURUSD con stop en 1.08" → Realiza una operación
"Calcula el RSI para GBPUSD" → Analiza indicadores técnicos
"Cierra todas las posiciones con pérdidas" → Gestiona el riesgo
✨ Características
Operaciones de Trading
✅ Órdenes de mercado - Ejecución inmediata al precio actual
✅ Órdenes limitadas - Orden a un nivel de precio específico
✅ Órdenes stop - Órdenes de stop-loss o stop-entry
✅ Gestión de posiciones - Cierre total o parcial de posiciones
✅ Gestión de órdenes - Cancelación de órdenes pendientes
Datos de mercado y análisis
✅ Datos históricos - Velas OHLCV (9 marcos temporales: M1, M5, M15, M30, H1, H4, D1, W1, MN1)
✅ Indicadores técnicos - RSI, MACD, EMA, SMA, Bandas de Bollinger, ATR, Estocástico
✅ Ticks en tiempo real - Suscripción a feeds de precios en vivo
✅ Búsqueda de símbolos - Exploración de más de 100 instrumentos de trading
Información de la cuenta
✅ Estado de la cuenta - Saldo, capital, margen, margen libre
✅ Seguimiento de posiciones - Todas las posiciones abiertas con P&L
✅ Seguimiento de órdenes - Todas las órdenes pendientes
✅ Análisis de P&L - Desglose detallado de ganancias/pérdidas
🎯 Herramientas disponibles (14 en total)
Herramienta | Descripción |
| Ver saldo, capital, margen y P&L |
| Listar todas las posiciones abiertas con detalles |
| Mostrar todas las órdenes limitadas/stop pendientes |
| Obtener desglose detallado de P&L |
| Ejecutar operación al precio de mercado actual |
| Colocar orden a un precio específico |
| Colocar orden stop-loss o stop-entry |
| Cerrar posición total o parcialmente |
| Cancelar una orden pendiente |
| Explorar instrumentos de trading disponibles |
| Obtener datos de velas OHLCV |
| Calcular indicadores técnicos |
| Suscribirse a actualizaciones de precios en tiempo real |
| Cancelar suscripción a actualizaciones de precios |
📋 Requisitos previos
Python 3.10 o superior
Una cuenta de cTrader (demo o real)
Credenciales de la API de cTrader
🔧 Instalación
1. Obtener credenciales de la API de cTrader
Crea una aplicación para obtener:
CLIENT_IDCLIENT_SECRET
Genera un token de acceso:
ACCESS_TOKEN
Encuentra tu ID de cuenta en cTrader:
ACCOUNT_ID
2. Instalar el servidor
# Clone or download this repository
cd ctrader-mcp-server
# Run installation script
./install.sh3. Configurar credenciales
Crea un archivo .env en la raíz del proyecto:
CLIENT_ID=your_client_id_here
CLIENT_SECRET=your_client_secret_here
ACCESS_TOKEN=your_access_token_here
ACCOUNT_ID=your_account_id_here
HOST=demoImportante: ¡Usa HOST=demo para pruebas!
4. Probar el servidor
# Activate virtual environment
source venv/bin/activate
# Run tests
python test_server.pyDeberías ver:
✓ Bot initialized and authenticated
✓ Account status retrieved
✓ Found X EUR symbols
...
All Tests Completed Successfully! ✓🤖 Configurar el asistente de IA
Claude Desktop
Encuentra tu archivo de configuración:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Añade esta configuración:
{
"mcpServers": {
"ctrader": {
"command": "/absolute/path/to/ctrader-mcp-server/venv/bin/python",
"args": [
"/absolute/path/to/ctrader-mcp-server/server.py"
],
"cwd": "/absolute/path/to/ctrader-mcp-server"
}
}
}Reinicia Claude Desktop
Otros clientes MCP
Este servidor implementa el protocolo estándar MCP y debería funcionar con cualquier cliente compatible con MCP.
💬 Ejemplos de conversaciones
Una vez configurado, puedes interactuar de forma natural:
Consultar cuenta:
Tú: "¿Cuánto dinero tengo en mi cuenta de cTrader?"
IA: "Tu cuenta tiene un saldo de $10,000, un capital de $10,250, con 3 posiciones abiertas que generan un P&L total de +$250."
Realizar operación:
Tú: "Compra 0.01 lotes de EURUSD con stop loss en 1.08 y take profit en 1.10"
IA: "¡Orden ejecutada! Comprados 0.01 lotes de EURUSD a 1.09245 con stop loss en 1.08000 y take profit en 1.10000."
Analizar mercado:
Tú: "Calcula el RSI para GBPUSD en el gráfico de 15 minutos"
IA: "El RSI(14) de GBPUSD en M15 está actualmente en 65.3, lo que indica que el par se acerca a territorio de sobrecompra."
Gestionar riesgo:
Tú: "Cierra todas las posiciones que tengan pérdidas superiores a $50"
IA: "Encontré 1 posición con pérdidas superiores a $50. Cerrada la posición de GBPUSD (pérdida: -$62.50)."
📚 Documentación
Guía de inicio rápido - Empieza en 5 minutos
Guía completa - Referencia exhaustiva
Arquitectura - Detalles técnicos
Configuración - Opciones de configuración
Referencia de API - Todas las herramientas documentadas
🔐 Seguridad y protección
Demo vs Trading real
La configuración predeterminada utiliza cuentas demo
Establece explícitamente
HOST=liveen.envpara trading realPrueba siempre exhaustivamente en demo antes de operar en real
Gestión de riesgos
Todas las órdenes admiten stop-loss y take-profit
El cierre de posiciones puede ser total o parcial
El volumen se especifica en lotes (0.01 = micro lote)
Seguridad de las credenciales
Credenciales almacenadas en el archivo
.env(nunca subidas al repositorio)Las variables de entorno nunca se exponen en los registros
Estado de autenticación validado antes de las operaciones
🚨 Advertencias importantes
⚠️ El trading implica un riesgo significativo. Puedes perder dinero. ⚠️ Prueba siempre primero en cuentas demo ⚠️ Empieza con posiciones pequeñas al operar en real ⚠️ Usa stop loss para limitar el riesgo ⚠️ Nunca compartas tus credenciales o tokens de acceso
🛠️ Desarrollo
Estructura del proyecto
ctrader-mcp-server/
├── server.py # Main MCP server
├── ctrader_bot.py # cTrader API wrapper
├── test_server.py # Testing tool
├── install.sh # Installation script
├── requirements.txt # Python dependencies
├── .env.example # Environment template
├── README.md # This file
└── docs/ # Documentation
├── QUICKSTART.md
├── GUIDE.md
├── ARCHITECTURE.md
├── CONFIGURATION.md
└── API.mdEjecución de pruebas
# Basic functionality test
python test_server.py
# Run with specific account
ACCOUNT_ID=12345 python test_server.py
# Test with live account (careful!)
HOST=live python test_server.pyAñadir nuevas herramientas
Para añadir nuevas herramientas:
Añade la definición de la herramienta en
server.pyhandle_list_tools()Implementa el manejador en
_execute_tool()Añade el método correspondiente a
ctrader_bot.pysi es necesarioActualiza la documentación
📊 Rendimiento
Tiempo de inicio: 5-10 segundos (autenticación + carga de símbolos)
Ejecución de órdenes: <100ms (órdenes de mercado)
Datos históricos: 1-5 segundos (100 velas)
Cálculo de indicadores: <1 segundo
Uso de memoria: ~50-100 MB
🌐 Límites de tasa
La API de cTrader impone:
50 solicitudes/segundo para operaciones de trading
5 solicitudes/segundo para datos históricos
El servidor respeta automáticamente estos límites.
🐛 Solución de problemas
Errores de "Bot not ready"
Comprueba las credenciales en el archivo
.envVerifica la conexión a internet
Asegúrate de que la cuenta de cTrader esté activa
Revisa los registros del servidor para errores de autenticación
Símbolo no encontrado
Usa la herramienta
list_symbolspara ver los símbolos disponiblesLos nombres de los símbolos distinguen entre mayúsculas y minúsculas
Diferentes brokers pueden tener diferentes nombres de símbolos
Orden rechazada
Comprueba el saldo y el margen de la cuenta
Verifica que el símbolo sea negociable
Asegúrate de que el volumen cumpla con los requisitos mínimos
Comprueba si el mercado está abierto
Problemas de conexión
Verifica que las credenciales de la API sean correctas
Comprueba si la cuenta está activa
Asegúrate de que ningún firewall bloquee el puerto 5035 (demo) o 5034 (real)
🔗 Recursos
📄 Licencia
Licencia MIT - Consulta el archivo LICENSE para más detalles
⚖️ Descargo de responsabilidad
Este software se proporciona "tal cual" sin garantía de ningún tipo. El trading implica un riesgo significativo y puedes perder dinero. Úsalo bajo tu propia responsabilidad. Prueba siempre en cuentas demo antes de operar en real.
🤝 Contribución
¡Las contribuciones son bienvenidas! Por favor:
Haz un fork del repositorio
Crea una rama de funcionalidad
Realiza tus cambios
Añade pruebas si corresponde
Envía una solicitud de extracción (pull request)
📧 Soporte
📖 Consulta la documentación
🐛 Informa de problemas en GitHub
💬 Únete a la comunidad de cTrader
Hecho con ❤️ para traders algorítmicos
¿Listo para empezar? ¡Ejecuta ./install.sh y sigue las instrucciones anteriores!
This server cannot be installed
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/akinabudu/ctrader-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server