Skip to main content
Glama
akinabudu

ctrader-mcp-server

by akinabudu

cTrader MCP Server

Ein eigenständiger Model Context Protocol (MCP) Server, der es KI-Assistenten ermöglicht, mit der cTrader-Handelsplattform zu interagieren.

🚀 Was ist das?

Dieser MCP-Server ermöglicht es KI-Assistenten wie Claude, Trades auszuführen, Märkte zu analysieren und Positionen auf cTrader durch natürlichsprachliche Konversationen zu verwalten.

Beispielkonversationen:

  • "Zeige mir meinen Kontostand" → Ruft Kontostand, Eigenkapital und Positionen ab

  • "Kaufe 0,01 Lots EURUSD mit Stop bei 1,08" → Platziert einen Trade

  • "Berechne den RSI für GBPUSD" → Analysiert technische Indikatoren

  • "Schließe alle verlustbringenden Positionen" → Verwaltet das Risiko

Related MCP server: 3commas-mcp

✨ Funktionen

Handelsoperationen

  • Market Orders - Sofortige Ausführung zum aktuellen Preis

  • Limit Orders - Order zu einem bestimmten Preisniveau

  • Stop Orders - Stop-Loss- oder Stop-Entry-Orders

  • Positionsverwaltung - Positionen vollständig oder teilweise schließen

  • Orderverwaltung - Ausstehende Orders stornieren

Marktdaten & Analyse

  • Historische Daten - OHLCV-Kerzen (9 Zeitrahmen: M1, M5, M15, M30, H1, H4, D1, W1, MN1)

  • Technische Indikatoren - RSI, MACD, EMA, SMA, Bollinger Bänder, ATR, Stochastic

  • Echtzeit-Ticks - Live-Preise abonnieren

  • Symbolsuche - Durchsuche über 100 Handelsinstrumente

Kontoinformationen

  • Kontostatus - Kontostand, Eigenkapital, Margin, freie Margin

  • Positionsverfolgung - Alle offenen Positionen mit GuV

  • Orderverfolgung - Alle ausstehenden Orders

  • GuV-Analyse - Detaillierte Gewinn-/Verlustaufschlüsselung

🎯 Verfügbare Tools (insgesamt 14)

Tool

Beschreibung

get_account_status

Kontostand, Eigenkapital, Margin und GuV anzeigen

get_positions

Alle offenen Positionen mit Details auflisten

get_pending_orders

Alle ausstehenden Limit-/Stop-Orders anzeigen

get_position_pnl

Detaillierte GuV-Aufschlüsselung abrufen

create_market_order

Trade zum aktuellen Marktpreis ausführen

create_limit_order

Order zu einem bestimmten Preis platzieren

create_stop_order

Stop-Loss- oder Stop-Entry-Order platzieren

close_position

Position vollständig oder teilweise schließen

cancel_order

Eine ausstehende Order stornieren

list_symbols

Verfügbare Handelsinstrumente durchsuchen

get_historical_data

OHLCV-Kerzendaten abrufen

get_indicator

Technische Indikatoren berechnen

subscribe_to_ticks

Echtzeit-Preis-Updates abonnieren

unsubscribe_from_ticks

Preis-Updates abbestellen

📋 Voraussetzungen

  • Python 3.10 oder höher

  • Ein cTrader-Konto (Demo oder Live)

  • cTrader API-Zugangsdaten

🔧 Installation

1. cTrader API-Zugangsdaten abrufen

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

  2. Erstelle eine Anwendung, um Folgendes zu erhalten:

    • CLIENT_ID

    • CLIENT_SECRET

  3. Generiere ein Zugriffstoken:

    • ACCESS_TOKEN

  4. Finde deine Konto-ID in cTrader:

    • ACCOUNT_ID

2. Server installieren

# Clone or download this repository
cd ctrader-mcp-server

# Run installation script
./install.sh

3. Zugangsdaten konfigurieren

Erstelle eine .env-Datei im Projektstammverzeichnis:

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

Wichtig: Verwende HOST=demo zum Testen!

4. Server testen

# Activate virtual environment
source venv/bin/activate

# Run tests
python test_server.py

Du solltest Folgendes sehen:

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

🤖 KI-Assistent konfigurieren

Claude Desktop

  1. Finde deine Konfigurationsdatei:

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

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

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

  2. Füge diese Konfiguration hinzu:

{
  "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. Starte Claude Desktop neu

Andere MCP-Clients

Dieser Server implementiert das Standard-MCP-Protokoll und sollte mit jedem MCP-kompatiblen Client funktionieren.

💬 Beispielkonversationen

Sobald konfiguriert, kannst du natürlich interagieren:

Konto prüfen:

Du: "Wie viel Geld habe ich auf meinem cTrader-Konto?"

KI: "Dein Konto hat einen Kontostand von 10.000 $, ein Eigenkapital von 10.250 $ und 3 offene Positionen mit einer gesamten GuV von +250 $."

Trade platzieren:

Du: "Kaufe 0,01 Lots EURUSD mit Stop-Loss bei 1,08 und Take-Profit bei 1,10"

KI: "Order ausgeführt! 0,01 Lots EURUSD gekauft bei 1,09245 mit Stop-Loss bei 1,08000 und Take-Profit bei 1,10000."

Markt analysieren:

Du: "Berechne den RSI für GBPUSD auf dem 15-Minuten-Chart"

KI: "Der GBPUSD RSI(14) auf M15 liegt aktuell bei 65,3, was darauf hindeutet, dass sich das Paar einem überkauften Bereich nähert."

Risiko verwalten:

Du: "Schließe alle Positionen, die mehr als 50 $ Verlust machen"

KI: "1 Position gefunden, die mehr als 50 $ Verlust macht. GBPUSD-Position geschlossen (Verlust: -62,50 $)."

📚 Dokumentation

🔐 Sicherheit & Schutz

Demo vs. Live-Handel

  • Die Standardkonfiguration verwendet Demokonten

  • Setze explizit HOST=live in der .env für den Live-Handel

  • Teste immer gründlich auf dem Demokonto, bevor du live gehst

Risikomanagement

  • Alle Orders unterstützen Stop-Loss und Take-Profit

  • Das Schließen von Positionen kann teilweise oder vollständig erfolgen

  • Das Volumen wird in Lots angegeben (0,01 = Mikrolot)

Sicherheit der Zugangsdaten

  • Zugangsdaten werden in der .env-Datei gespeichert (niemals committen)

  • Umgebungsvariablen werden niemals in Protokollen angezeigt

  • Authentifizierungsstatus wird vor Operationen validiert

🚨 Wichtige Warnungen

⚠️ Handel birgt erhebliche Risiken. Du kannst Geld verlieren. ⚠️ Teste immer zuerst auf Demokonten ⚠️ Beginne mit kleinen Positionen, wenn du live gehst ⚠️ Verwende Stop-Losses, um das Risiko zu begrenzen ⚠️ Teile niemals deine Zugangsdaten oder Zugriffstoken

🛠️ Entwicklung

Projektstruktur

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

Tests ausführen

# 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

Neue Tools hinzufügen

Um neue Tools hinzuzufügen:

  1. Tool-Definition in server.py unter handle_list_tools() hinzufügen

  2. Handler in _execute_tool() implementieren

  3. Entsprechende Methode in ctrader_bot.py hinzufügen, falls erforderlich

  4. Dokumentation aktualisieren

📊 Leistung

  • Startzeit: 5-10 Sekunden (Authentifizierung + Laden der Symbole)

  • Orderausführung: <100ms (Market Orders)

  • Historische Daten: 1-5 Sekunden (100 Kerzen)

  • Indikatorberechnung: <1 Sekunde

  • Speichernutzung: ~50-100 MB

🌐 Ratenbegrenzungen

cTrader API erzwingt:

  • 50 Anfragen/Sekunde für Handelsoperationen

  • 5 Anfragen/Sekunde für historische Daten

Der Server hält diese Grenzen automatisch ein.

🐛 Fehlerbehebung

"Bot not ready"-Fehler

  • Überprüfe die Zugangsdaten in der .env-Datei

  • Überprüfe die Internetverbindung

  • Stelle sicher, dass das cTrader-Konto aktiv ist

  • Überprüfe die Serverprotokolle auf Authentifizierungsfehler

Symbol nicht gefunden

  • Verwende das Tool list_symbols, um verfügbare Symbole zu sehen

  • Symbolnamen unterscheiden zwischen Groß- und Kleinschreibung

  • Verschiedene Broker können unterschiedliche Symbolnamen haben

Order abgelehnt

  • Überprüfe Kontostand und Margin

  • Überprüfe, ob das Symbol handelbar ist

  • Stelle sicher, dass das Volumen die Mindestanforderungen erfüllt

  • Überprüfe, ob der Markt geöffnet ist

Verbindungsprobleme

  • Überprüfe, ob die API-Zugangsdaten korrekt sind

  • Überprüfe, ob das Konto aktiv ist

  • Stelle sicher, dass keine Firewall den Port 5035 (Demo) oder 5034 (Live) blockiert

🔗 Ressourcen

📄 Lizenz

MIT-Lizenz - Siehe LICENSE-Datei für Details

⚖️ Haftungsausschluss

Diese Software wird "wie besehen" ohne jegliche Gewährleistung bereitgestellt. Der Handel birgt erhebliche Risiken und du kannst Geld verlieren. Nutzung auf eigene Gefahr. Teste immer auf Demokonten, bevor du live handelst.

🤝 Mitwirken

Beiträge sind willkommen! Bitte:

  1. Forke das Repository

  2. Erstelle einen Feature-Branch

  3. Nimm deine Änderungen vor

  4. Füge Tests hinzu, falls zutreffend

  5. Reiche einen Pull Request ein

📧 Support


Mit ❤️ für algorithmische Trader gemacht

Bereit zu starten? Führe ./install.sh aus und befolge die Anweisungen oben!

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
    -