Skip to main content
Glama
ariadng

metatrader-mcp-server

PyPI version Python 3.10+ License: MIT

Lassen Sie KI-Assistenten mit natürlicher Sprache für sich handeln

MetaTrader MCP-Server


📑 Inhaltsverzeichnis


Related MCP server: Financial Datasets MCP Server

🌟 Was ist das?

MetaTrader MCP-Server ist eine Brücke, die KI-Assistenten (wie Claude, ChatGPT) mit der Handelsplattform MetaTrader 5 verbindet. Anstatt auf Schaltflächen zu klicken, können Sie Ihrem KI-Assistenten einfach sagen, was zu tun ist:

"Zeig mir meinen Kontostand" "Kaufe 0,01 Lots EUR/USD" "Schließe alle profitablen Positionen"

Die KI versteht Ihre Anfrage und führt sie automatisch in MetaTrader 5 aus.

Funktionsweise

You → AI Assistant → MCP Server → MetaTrader 5 → Your Trades

✨ Funktionen

  • 🗣️ Handel mit natürlicher Sprache - Sprechen Sie mit der KI in einfacher Sprache, um Trades auszuführen

  • 🤖 Multi-KI-Unterstützung - Funktioniert mit Claude Desktop, ChatGPT (via Open WebUI) und mehr

  • 📊 Voller Marktzugang - Erhalten Sie Echtzeitkurse, historische Daten und Symbolinformationen

  • 💼 Vollständige Kontokontrolle - Überprüfen Sie Kontostand, Eigenkapital, Margin und Handelsstatistiken

  • ⚡ Auftragsverwaltung - Platzieren, ändern und schließen Sie Aufträge mit einfachen Befehlen

  • 🔒 Sicher - Alle Anmeldedaten bleiben auf Ihrem Rechner

  • 🌐 Flexible Schnittstellen - Verwendung als MCP-Server, REST-API oder WebSocket-Stream

  • 📖 Gut dokumentiert - Umfassende Anleitungen und Beispiele

🎯 Für wen ist das?

  • Trader, die ihren Handel mit KI automatisieren möchten

  • Entwickler, die Trading-Bots oder Analysetools bauen

  • Analysten, die schnellen Zugriff auf Marktdaten benötigen

  • Jeden, der daran interessiert ist, KI mit Finanzmärkten zu kombinieren

⚠️ Wichtiger Haftungsausschluss

Bitte lesen Sie dies sorgfältig durch:

Der Handel mit Finanzinstrumenten birgt ein erhebliches Verlustrisiko. Diese Software wird "wie besehen" bereitgestellt und die Entwickler übernehmen keine Haftung für Handelsverluste, Gewinne oder Konsequenzen aus der Nutzung dieser Software.

Durch die Nutzung dieser Software erkennen Sie an, dass:

  • Sie die Risiken des Finanzhandels verstehen

  • Sie für alle über dieses System ausgeführten Trades verantwortlich sind

  • Sie die Entwickler nicht für Ergebnisse haftbar machen werden

  • Sie diese Software auf eigenes Risiko verwenden

Dies ist keine Finanzberatung. Handeln Sie immer verantwortungsbewusst.


📋 Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  1. Python 3.10 oder höher - Hier herunterladen

  2. MetaTrader 5 Terminal - Hier herunterladen

  3. MT5-Handelskonto - Demo- oder Live-Kontodaten

    • Login-Nummer

    • Passwort

    • Servername (z. B. "MetaQuotes-Demo")

🚀 Schnellstart

Schritt 1: Installieren Sie das Paket

Öffnen Sie Ihr Terminal oder Ihre Eingabeaufforderung und führen Sie aus:

pip install metatrader-mcp-server

Schritt 2: Aktivieren Sie den algorithmischen Handel

  1. Öffnen Sie MetaTrader 5

  2. Gehen Sie zu ExtrasOptionen

  3. Klicken Sie auf den Reiter Expertenratgeber

  4. Aktivieren Sie das Kontrollkästchen Algorithmischen Handel zulassen

  5. Klicken Sie auf OK

Schritt 3: Wählen Sie Ihre Schnittstelle

Wählen Sie eine basierend darauf, wie Sie sie verwenden möchten:

Option A: Verwendung mit Claude Desktop (Lokales STDIO)

  1. Suchen Sie Ihre Claude Desktop-Konfigurationsdatei:

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

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

  2. Öffnen Sie die Datei und fügen Sie diese Konfiguration hinzu:

{
  "mcpServers": {
    "metatrader": {
      "command": "metatrader-mcp-server",
      "args": [
        "--login",     "YOUR_MT5_LOGIN",
        "--password",  "YOUR_MT5_PASSWORD",
        "--server",    "YOUR_MT5_SERVER",
        "--transport", "stdio"
      ]
    }
  }
}

Optional: Benutzerdefinierten MT5-Terminalpfad angeben

Wenn Ihr MT5-Terminal an einem nicht standardmäßigen Ort installiert ist, fügen Sie das Argument --path hinzu:

{
  "mcpServers": {
    "metatrader": {
      "command": "metatrader-mcp-server",
      "args": [
        "--login",     "YOUR_MT5_LOGIN",
        "--password",  "YOUR_MT5_PASSWORD",
        "--server",    "YOUR_MT5_SERVER",
        "--transport", "stdio",
        "--path",      "C:\\Program Files\\MetaTrader 5\\terminal64.exe"
      ]
    }
  }
}
  1. Ersetzen Sie YOUR_MT5_LOGIN, YOUR_MT5_PASSWORD und YOUR_MT5_SERVER durch Ihre tatsächlichen Anmeldedaten

  2. Starten Sie Claude Desktop neu

  3. Fangen Sie an zu chatten! Versuchen Sie: "Wie hoch ist mein Kontostand?"

Option B: Verwendung mit Open WebUI (Für ChatGPT und andere LLMs)

  1. Starten Sie den HTTP-Server:

metatrader-http-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVER --host 0.0.0.0 --port 8000

Optional: Benutzerdefinierten MT5-Terminalpfad angeben

Wenn Ihr MT5-Terminal an einem nicht standardmäßigen Ort installiert ist, fügen Sie das Argument --path hinzu:

metatrader-http-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVER --path "C:\Program Files\MetaTrader 5\terminal64.exe" --host 0.0.0.0 --port 8000
  1. Öffnen Sie Ihren Browser unter http://localhost:8000/docs, um die API-Dokumentation zu sehen

  2. In Open WebUI:

    • Gehen Sie zu EinstellungenTools

    • Klicken Sie auf Tool-Server hinzufügen

    • Geben Sie http://localhost:8000 ein

    • Speichern

  3. Jetzt können Sie Trading-Tools in Ihren Open WebUI-Chats verwenden!

Option C: Echtzeitkurse via WebSocket

Streamen Sie Live-Tick-Daten (Bid, Ask, Spread, Volumen) über WebSocket für Dashboards, Bots oder Überwachung:

metatrader-quote-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVER

Verbinden Sie sich mit einem beliebigen WebSocket-Client:

websocat ws://localhost:8765

Sie erhalten eine connected-Nachricht, gefolgt von kontinuierlichen Tick-Updates als JSON. Siehe WebSocket-Kurs-Server für vollständige Details.

Option D: Remote-MCP-Server (SSE)

Führen Sie den MCP-Server auf einem Windows-VPS aus (auf dem MT5 installiert ist) und verbinden Sie sich remote von Claude Desktop oder Claude Code aus.

Serverseitig (auf dem Windows-VPS):

metatrader-mcp-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVER

Dies startet den SSE-Server standardmäßig auf 0.0.0.0:8080. Passen Sie ihn mit --host und --port an:

metatrader-mcp-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVER --host 127.0.0.1 --port 9000

Clientseitig (Claude Desktop-Konfiguration auf Ihrem lokalen Rechner):

{
  "mcpServers": {
    "metatrader": {
      "url": "http://VPS_IP:8080/sse"
    }
  }
}

Ersetzen Sie VPS_IP durch die IP-Adresse Ihres Servers.

Sicherheitshinweis: Das MCP-Protokoll enthält keine Authentifizierung. Wenn Sie den SSE-Server über ein Netzwerk freigeben, verwenden Sie eine Firewall, um den Zugriff nach IP zu beschränken, platzieren Sie ihn hinter einem Reverse-Proxy mit Authentifizierung oder verwenden Sie einen SSH-Tunnel.


🤖 Trading-Assistent-Skill (Claude Code / Claude Desktop)

Ein vorgefertigter Trading-Terminal-Assistent-Skill ist im Verzeichnis claude-skill/ enthalten. Er bietet Claude strukturiertes Wissen über alle 32 Trading-Tools, Ausgabeformatierung und MetaTrader 5-Domänenwissen.

Installation für Claude Code

Option 1: Symlink (empfohlen)

Erstellen Sie einen Symlink vom Standard-Claude-Code-Skills-Verzeichnis zu claude-skill/:

cd metatrader-mcp-server
mkdir -p .claude
ln -s ../claude-skill .claude/skills

Der Skill wird automatisch erkannt und ist als /trading verfügbar.

Option 2: Kopieren

Kopieren Sie die Skill-Dateien in das Claude-Code-Skills-Verzeichnis:

cd metatrader-mcp-server
mkdir -p .claude/skills
cp -r claude-skill/trading .claude/skills/trading

Installation für Claude Desktop

Für Claude Desktop kopieren Sie den Skill in das globale Claude-Skills-Verzeichnis:

# macOS
mkdir -p ~/Library/Application\ Support/Claude/skills
cp -r claude-skill/trading ~/Library/Application\ Support/Claude/skills/trading

# Windows
mkdir "%APPDATA%\Claude\skills"
xcopy /E claude-skill\trading "%APPDATA%\Claude\skills\trading\"

Was der Skill tut

  • Direkte Ausführung: Führt Trades sofort aus, wenn angefordert, keine zusätzliche Bestätigung erforderlich

  • Workflows: Weiß, wie man Tools für komplexe Operationen verkettet (z. B. Market-Order platzieren, dann SL/TP setzen)

  • Formatierung: Präsentiert Kontodaten, Positionen, Aufträge und Preise in sauberen Tabellen im Terminal-Stil

  • Domänenwissen: Versteht MT5-Auftragstypen, Zeitrahmen, Symbolformate und Ausführungsmodi

Verwendung

Nach der Installation rufen Sie ihn mit /trading auf oder stellen Sie einfach natürlich Fragen zum Handel:

/trading
> Show me my account dashboard
> Buy 0.1 lots of EURUSD with SL at 1.0800
> Close all profitable positions
> Show me GBPUSD H4 candles

📡 WebSocket-Kurs-Server

Der WebSocket-Kurs-Server streamt Echtzeit-Tick-Daten von MetaTrader 5 an jeden WebSocket-Client. Er ist ideal für Live-Dashboards, Frontends für algorithmischen Handel und Echtzeitüberwachung.

Starten des Servers

metatrader-quote-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVER

Der Server startet standardmäßig auf ws://0.0.0.0:8765.

Anpassung

metatrader-quote-server \
  --login YOUR_LOGIN \
  --password YOUR_PASSWORD \
  --server YOUR_SERVER \
  --host 127.0.0.1 \
  --port 9000 \
  --symbols "EURUSD,GBPUSD,XAUUSD" \
  --poll-interval 200

Konfiguration

Flag

Umgebungsvariable

Standard

Beschreibung

--host

QUOTE_HOST

0.0.0.0

Zu bindender Host

--port

QUOTE_PORT

8765

Zu bindender Port

--symbols

QUOTE_SYMBOLS

XAUUSD,USOIL,GBPUSD,USDJPY,EURUSD,BTCUSD

Kommagetrennte Symbole zum Streamen

--poll-interval

QUOTE_POLL_INTERVAL_MS

100

Tick-Abfrageintervall in Millisekunden

CLI-Flags haben Vorrang vor Umgebungsvariablen, die Vorrang vor Standardwerten haben.

Nachrichtenformat

Bei Verbindung — der Server sendet eine connected-Nachricht mit der Symbolliste, gefolgt von zwischengespeicherten Ticks:

{"type": "connected", "symbols": ["XAUUSD", "EURUSD", "GBPUSD"], "poll_interval_ms": 100}

Tick-Updates — werden gesendet, wann immer sich Bid, Ask oder Volumen ändern:

{"type": "tick", "symbol": "XAUUSD", "bid": 2345.67, "ask": 2345.89, "spread": 0.22, "volume": 1234, "time": "2026-03-14T10:30:45+00:00"}

Fehler — werden gesendet, wenn ein Symbol nicht abgerufen werden kann:

{"type": "error", "symbol": "INVALID", "message": "Symbol not found or data unavailable"}

Beispiel: Verbindung mit Python

import asyncio
import json
from websockets.asyncio.client import connect

async def main():
    async with connect("ws://localhost:8765") as ws:
        async for message in ws:
            tick = json.loads(message)
            if tick["type"] == "tick":
                print(f"{tick['symbol']}: {tick['bid']}/{tick['ask']} (spread: {tick['spread']})")

asyncio.run(main())

Design-Hinweise

  • Änderungserkennung: Sendet nur, wenn sich Bid, Ask oder Volumen tatsächlich ändern, was unnötigen Datenverkehr reduziert.

  • Späte Teilnehmer: Neue Clients erhalten beim Verbinden sofort zwischengespeicherte Ticks, sodass sie nicht auf die nächste Änderung warten müssen.

  • MT5-Threadsicherheit: Alle MT5-SDK-Aufrufe werden über einen Single-Thread-Executor serialisiert, um Probleme bei gleichzeitigem Zugriff zu vermeiden.

  • Mehrere Clients: Eine beliebige Anzahl von WebSocket-Clients kann gleichzeitig eine Verbindung herstellen.


💡 Anwendungsbeispiele

Mit Claude Desktop

Nach der Konfiguration können Sie natürlich chatten:

Kontostand prüfen:

Sie: "Zeig mir meine Kontoinformationen"

Claude: Gibt Kontostand, Eigenkapital, Margin, Hebel usw. zurück.

Marktdaten abrufen:

Sie: "Was ist der aktuelle Preis von EUR/USD?"

Claude: Zeigt Bid, Ask und Spread

Einen Trade platzieren:

Sie: "Kaufe 0,01 Lots GBP/USD mit Stop-Loss bei 1,2500 und Take-Profit bei 1,2700"

Claude: Führt den Trade aus und bestätigt

Positionen verwalten:

Sie: "Schließe alle meine verlustbringenden Positionen"

Claude: Schließt Positionen und meldet Ergebnisse

Historie analysieren:

Sie: "Zeig mir alle meine Trades der letzten Woche für EUR/USD"

Claude: Gibt die Handelshistorie als Tabelle zurück

Mit HTTP-API

# Get account info
curl http://localhost:8000/api/v1/account/info

# Get current price
curl "http://localhost:8000/api/v1/market/price?symbol_name=EURUSD"

# Place a market order
curl -X POST http://localhost:8000/api/v1/order/market \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "EURUSD",
    "volume": 0.01,
    "type": "BUY",
    "stop_loss": 1.0990,
    "take_profit": 1.1010
  }'

# Get all open positions
curl http://localhost:8000/api/v1/positions

# Close a specific position
curl -X DELETE http://localhost:8000/api/v1/positions/12345

Als Python-Bibliothek

from metatrader_client import MT5Client

# Connect to MT5
config = {
    "login": 12345678,
    "password": "your_password",
    "server": "MetaQuotes-Demo"
}
client = MT5Client(config)
client.connect()

# Get account statistics
stats = client.account.get_trade_statistics()
print(f"Balance: ${stats['balance']}")
print(f"Equity: ${stats['equity']}")

# Get current price
price = client.market.get_symbol_price("EURUSD")
print(f"EUR/USD Bid: {price['bid']}, Ask: {price['ask']}")

# Place a market order
result = client.order.place_market_order(
    type="BUY",
    symbol="EURUSD",
    volume=0.01,
    stop_loss=1.0990,
    take_profit=1.1010
)
print(result['message'])

# Close all positions
client.order.close_all_positions()

# Disconnect
client.disconnect()

📚 Verfügbare Operationen

Kontoverwaltung

  • get_account_info - Kontostand, Eigenkapital, Gewinn, Margin-Level, Hebel, Währung abrufen

Marktdaten

  • get_symbols - Alle verfügbaren Handelssymbole auflisten

  • get_symbol_price - Aktuellen Bid/Ask-Preis für ein Symbol abrufen

  • get_candles_latest - Aktuelle Preiskurse (OHLCV-Daten) abrufen

  • get_candles_by_date - Historische Kurse für einen Datumsbereich abrufen

  • get_symbol_info - Detaillierte Symbolinformationen abrufen

Auftragsausführung

  • place_market_order - Sofortige KAUF/VERKAUF-Aufträge ausführen

  • place_pending_order - Limit/Stop-Aufträge für zukünftige Ausführung platzieren

  • modify_position - Stop-Loss oder Take-Profit aktualisieren

  • modify_pending_order - Parameter für ausstehende Aufträge ändern

Positionsverwaltung

  • get_all_positions - Alle offenen Positionen anzeigen

  • get_positions_by_symbol - Positionen nach Handelspaar filtern

  • get_positions_by_id - Spezifische Positionsdetails abrufen

  • close_position - Eine bestimmte Position schließen

  • close_all_positions - Alle

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Issues opened vs closed

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/ariadng/metatrader-mcp-server'

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