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
runMatlabCodeaus.Variablen abrufen: Rufen Sie den Wert von Variablen aus dem MATLAB-Arbeitsbereich mit dem Tool
getVariableab.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_threadausgeführt, um eine Blockierung des Servers zu verhindern.Standardprotokollierung: Verwendet das
loggingvon Python und gibt die Ausgabe anstderraus, 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
setVariableTool hinzu, um Daten in den MATLAB-Arbeitsbereich zu schreiben.Fügen Sie ein
runScriptTool hinzu,.mDateien direkt auszuführen.Fügen Sie Tools zur Arbeitsbereichsverwaltung hinzu (z. B.
clearWorkspace,getWorkspaceVariables).Erweitern Sie
matlab_to_pythonHelfer, 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.
numpyPython-Paket.
Installation
Klonen Sie dieses Repository:
git clone https://github.com/jigarbhoye04/MatlabMCP.git cd MatlabMCPRichten Sie eine virtuelle Python-Umgebung ein (empfohlen):
# Install uv if you haven't already: https://github.com/astral-sh/uv uv init uv venv source .venv/bin/activate # On Windows use: .venv\Scripts\activateInstallieren Sie Abhängigkeiten:
uv pip syncStellen 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:
matlab.engine.shareEngineSie können überprüfen, ob die Engine freigegeben ist, indem Sie in MATLAB
matlab.engine.isEngineSharedausführen (der Rückgabewert solltetrueoder1sein). 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.jsongeöffnet. Fügen Sie den AbschnittmcpServershinzu oder ändern Sie ihn, um dieMatlabMCPKonfiguration einzuschließen:{ "mcpServers": { "MatlabMCP": { "command": "C:\\Users\\username\\.local\\bin\\uv.exe", // Path to your uv executable "args": [ "--directory", "C:\\Users\\username\\Desktop\\MatlabMCP\\", // ABSOLUTE path to the cloned repository directory "run", "main.py" ] // Optional: Add environment variables if needed // "env": { // "MY_VAR": "value" // } } // Add other MCP servers here if you have them } }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
loggingvon Python) werden in den MCP-Protokolldateien von Claude Desktop angezeigt (Zugriff übertail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.logunter 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
- -security-license-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 -32
- Asecurity-licenseAqualityFacilitates running Python code in a sandbox and generating images using the FLUX model via an MCP server compatible with clients like Goose and the Claude Desktop App.Last updated -222MIT License
- Asecurity-licenseAqualityIntegrates MATLAB with AI to execute code, generate scripts from natural language, and access MATLAB documentation seamlessly.Last updated -246Apache 2.0
Fused MCP Agentsofficial
-security-license-qualityA Python-based MCP server that allows Claude and other LLMs to execute arbitrary Python code directly through your desktop Claude app, enabling data scientists to connect LLMs to APIs and executable code.Last updated -26MIT License