Skip to main content
Glama
akinabudu

ctrader-mcp-server

by akinabudu

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

Related MCP server: 3commas-mcp

✨ 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

get_account_status

Ver saldo, capital, margen y P&L

get_positions

Listar todas las posiciones abiertas con detalles

get_pending_orders

Mostrar todas las órdenes limitadas/stop pendientes

get_position_pnl

Obtener desglose detallado de P&L

create_market_order

Ejecutar operación al precio de mercado actual

create_limit_order

Colocar orden a un precio específico

create_stop_order

Colocar orden stop-loss o stop-entry

close_position

Cerrar posición total o parcialmente

cancel_order

Cancelar una orden pendiente

list_symbols

Explorar instrumentos de trading disponibles

get_historical_data

Obtener datos de velas OHLCV

get_indicator

Calcular indicadores técnicos

subscribe_to_ticks

Suscribirse a actualizaciones de precios en tiempo real

unsubscribe_from_ticks

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

  1. Visita https://help.ctrader.com/open-api/creating-new-app/

  2. Crea una aplicación para obtener:

    • CLIENT_ID

    • CLIENT_SECRET

  3. Genera un token de acceso:

    • ACCESS_TOKEN

  4. 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.sh

3. 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=demo

Importante: ¡Usa HOST=demo para pruebas!

4. Probar el servidor

# Activate virtual environment
source venv/bin/activate

# Run tests
python test_server.py

Deberías ver:

✓ Bot initialized and authenticated
✓ Account status retrieved
✓ Found X EUR symbols
...
All Tests Completed Successfully! ✓

🤖 Configurar el asistente de IA

Claude Desktop

  1. Encuentra tu archivo de configuración:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    • Linux: ~/.config/Claude/claude_desktop_config.json

  2. 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"
    }
  }
}
  1. 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

🔐 Seguridad y protección

Demo vs Trading real

  • La configuración predeterminada utiliza cuentas demo

  • Establece explícitamente HOST=live en .env para trading real

  • Prueba 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.md

Ejecució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.py

Añadir nuevas herramientas

Para añadir nuevas herramientas:

  1. Añade la definición de la herramienta en server.py handle_list_tools()

  2. Implementa el manejador en _execute_tool()

  3. Añade el método correspondiente a ctrader_bot.py si es necesario

  4. Actualiza 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 .env

  • Verifica 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_symbols para ver los símbolos disponibles

  • Los 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:

  1. Haz un fork del repositorio

  2. Crea una rama de funcionalidad

  3. Realiza tus cambios

  4. Añade pruebas si corresponde

  5. Envía una solicitud de extracción (pull request)

📧 Soporte


Hecho con ❤️ para traders algorítmicos

¿Listo para empezar? ¡Ejecuta ./install.sh y sigue las instrucciones anteriores!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server for the Hyperliquid decentralized exchange, enabling AI assistants to perform trading operations, manage accounts, and retrieve market data.
    307 PyPI
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that integrates AI assistants with the 3Commas cryptocurrency trading platform API, enabling management of DCA bots and trading strategies through natural conversation.
    12
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that lets an AI agent read your MetaTrader 5 account and place trades over the Model Context Protocol, with a configurable human approval gate.
    15
    38 PyPI
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that provides AI assistants like Claude with direct access to MetaAPI trading platform. Trade forex, stocks, and commodities through natural language conversations.
    1
    -