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

📑 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:
Python 3.10 oder höher - Hier herunterladen
MetaTrader 5 Terminal - Hier herunterladen
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-serverSchritt 2: Aktivieren Sie den algorithmischen Handel
Öffnen Sie MetaTrader 5
Gehen Sie zu
Extras→OptionenKlicken Sie auf den Reiter
ExpertenratgeberAktivieren Sie das Kontrollkästchen
Algorithmischen Handel zulassenKlicken 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)
Suchen Sie Ihre Claude Desktop-Konfigurationsdatei:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonMac:
~/Library/Application Support/Claude/claude_desktop_config.json
Ö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"
]
}
}
}Ersetzen Sie
YOUR_MT5_LOGIN,YOUR_MT5_PASSWORDundYOUR_MT5_SERVERdurch Ihre tatsächlichen AnmeldedatenStarten Sie Claude Desktop neu
Fangen Sie an zu chatten! Versuchen Sie: "Wie hoch ist mein Kontostand?"
Option B: Verwendung mit Open WebUI (Für ChatGPT und andere LLMs)
Starten Sie den HTTP-Server:
metatrader-http-server --login YOUR_LOGIN --password YOUR_PASSWORD --server YOUR_SERVER --host 0.0.0.0 --port 8000Optional: 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Öffnen Sie Ihren Browser unter
http://localhost:8000/docs, um die API-Dokumentation zu sehenIn Open WebUI:
Gehen Sie zu Einstellungen → Tools
Klicken Sie auf Tool-Server hinzufügen
Geben Sie
http://localhost:8000einSpeichern
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_SERVERVerbinden Sie sich mit einem beliebigen WebSocket-Client:
websocat ws://localhost:8765Sie 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_SERVERDies 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 9000Clientseitig (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/skillsDer 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/tradingInstallation 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_SERVERDer 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 200Konfiguration
Flag | Umgebungsvariable | Standard | Beschreibung |
|
|
| Zu bindender Host |
|
|
| Zu bindender Port |
|
|
| Kommagetrennte Symbole zum Streamen |
|
|
| 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/12345Als 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 auflistenget_symbol_price- Aktuellen Bid/Ask-Preis für ein Symbol abrufenget_candles_latest- Aktuelle Preiskurse (OHLCV-Daten) abrufenget_candles_by_date- Historische Kurse für einen Datumsbereich abrufenget_symbol_info- Detaillierte Symbolinformationen abrufen
Auftragsausführung
place_market_order- Sofortige KAUF/VERKAUF-Aufträge ausführenplace_pending_order- Limit/Stop-Aufträge für zukünftige Ausführung platzierenmodify_position- Stop-Loss oder Take-Profit aktualisierenmodify_pending_order- Parameter für ausstehende Aufträge ändern
Positionsverwaltung
get_all_positions- Alle offenen Positionen anzeigenget_positions_by_symbol- Positionen nach Handelspaar filternget_positions_by_id- Spezifische Positionsdetails abrufenclose_position- Eine bestimmte Position schließenclose_all_positions- Alle
This server cannot be installed
Maintenance
Appeared in Searches
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