MATLAB MCP-Integration
Dies ist eine Implementierung eines Model Context Protocol (MCP)-Servers für MATLAB. Er ermöglicht MCP-Clients (wie LLM-Agenten oder Claude Desktop) die Interaktion mit einer freigegebenen MATLAB-Sitzung über die MATLAB Engine API für Python.
Merkmale
- MATLAB-Code ausführen: Führen Sie beliebige MATLAB-Codeausschnitte über das Tool
runMatlabCode
aus. - Variablen abrufen: Rufen Sie den Wert von Variablen aus dem MATLAB-Arbeitsbereich mit dem Tool
getVariable
ab. - Strukturierte Kommunikation: Tools geben Ergebnisse und Fehler als strukturiertes JSON zurück, um die programmgesteuerte Verwendung durch Clients zu vereinfachen.
- Nicht blockierende Ausführung: Aufrufe der MATLAB-Engine werden asynchron mit
asyncio.to_thread
ausgeführt, um eine Blockierung des Servers zu verhindern. - Standardprotokollierung: Verwendet das
logging
von Python und gibt die Ausgabe anstderr
aus, um die Sichtbarkeit in den Clientprotokollen zu gewährleisten. - Gemeinsam genutzte Sitzung: Stellt eine Verbindung zu einer vorhandenen gemeinsam genutzten MATLAB-Sitzung her.
ZU TUN:
- Fügen Sie ein
setVariable
Tool hinzu, um Daten in den MATLAB-Arbeitsbereich zu schreiben. - Fügen Sie ein
runScript
Tool hinzu,.m
Dateien direkt auszuführen. - Fügen Sie Tools zur Arbeitsbereichsverwaltung hinzu (z. B.
clearWorkspace
,getWorkspaceVariables
). - Erweitern Sie
matlab_to_python
Helfer, um komplexere Datentypen (Strukturen, Zellenarrays, Objekte) zu verarbeiten. - Fügen Sie Unterstützung für die Interaktion mit Simulink-Modellen hinzu.
Anforderungen
- Python 3.12 oder höher
- MATLAB ( R2023a oder höher empfohlen – überprüfen Sie die MATLAB Engine API auf Python-Kompatibilität) mit installierter MATLAB Engine API für Python.
numpy
Python-Paket.
Installation
- Klonen Sie dieses Repository:
- Richten Sie eine virtuelle Python-Umgebung ein (empfohlen):
- Installieren Sie Abhängigkeiten:
- Stellen Sie sicher, dass MATLAB installiert und die MATLAB Engine API für Python für Ihre Python-Umgebung konfiguriert ist. Siehe MATLAB-Dokumentation .
- Starten Sie MATLAB und geben Sie dessen Engine frei: Führen Sie den folgenden Befehl im MATLAB-Befehlsfenster aus:Sie können überprüfen, ob die Engine freigegeben ist, indem Sie in MATLAB
matlab.engine.isEngineShared
ausführen (der Rückgabewert solltetrue
oder1
sein). Der MCP-Server benötigt diese freigegebene Engine für die Verbindung.
Konfiguration (für Claude Desktop)
So verwenden Sie diesen Server mit Claude Desktop:
- Gehen Sie zu Claude Desktop -> Einstellungen -> Entwickler -> Konfiguration bearbeiten.
- Dadurch wird
claude_desktop_config.json
geöffnet. Fügen Sie den AbschnittmcpServers
hinzu oder ändern Sie ihn, um dieMatlabMCP
Konfiguration einzuschließen: - WICHTIG: Ersetzen Sie die Pfade
C:\\Users\\username\\...
durch die richtigen absoluten Pfade für Ihr System. - Speichern Sie die Datei und starten Sie Claude Desktop neu .
- Protokollierung: Serverprotokolle (aus dem
logging
von Python) werden in den MCP-Protokolldateien von Claude Desktop angezeigt (Zugriff übertail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.log
unter macOS oder durch Überprüfen von%APPDATA%\Claude\logs\
unter Windows).
Entwicklung
Projektstruktur:
Dokumentation
Unter „Updates“ finden Sie eine ausführliche Dokumentation zu den Funktionen und der Verwendung des Servers sowie Hinweise zur Entwicklung.
Beitragen
Beiträge sind willkommen! Wenn Sie Vorschläge oder Verbesserungen haben, können Sie gerne ein Problem melden oder einen Pull Request einreichen.
Lassen Sie uns gemeinsam noch besser werden!
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Ermöglicht die Ausführung von MATLAB-Code aus Python mithilfe der MATLAB Engine API und ermöglicht eine gemeinsame MATLAB-Sitzung über mehrere Anfragen hinweg für eine nahtlose Integration mit Claude Desktop.
Related MCP Servers
- -securityFlicense-qualityAllows interaction with MATLAB by creating and executing scripts and functions through Claude or other MCP clients, supporting script management and execution result retrieval with environment configuration capabilities.Last updated -10Python
- -securityAlicense-qualityThe server facilitates access to Julia documentation and source code through Claude Desktop, allowing users to retrieve information on Julia packages, modules, types, functions, and methods.Last updated -402JavaScriptMIT License
- AsecurityAlicenseAqualityIntegrates MATLAB with AI to execute code, generate scripts from natural language, and access MATLAB documentation seamlessly.Last updated -229JavaScriptApache 2.0
- AsecurityFlicenseAqualityA server that enables Claude Desktop users to access the Claude API directly, allowing them to bypass Professional Plan limitations and use advanced features like custom system prompts and conversation management.Last updated -15Python