Skip to main content
Glama

MATLAB MCP Server

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 an stderr 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

  1. Klonen Sie dieses Repository:
    git clone https://github.com/jigarbhoye04/MatlabMCP.git cd MatlabMCP
  2. Richten 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\activate
  3. Installieren Sie Abhängigkeiten:
    uv pip sync
  4. Stellen Sie sicher, dass MATLAB installiert und die MATLAB Engine API für Python für Ihre Python-Umgebung konfiguriert ist. Siehe MATLAB-Dokumentation .
  5. Starten Sie MATLAB und geben Sie dessen Engine frei: Führen Sie den folgenden Befehl im MATLAB-Befehlsfenster aus:
    matlab.engine.shareEngine
    Sie können überprüfen, ob die Engine freigegeben ist, indem Sie in MATLAB matlab.engine.isEngineShared ausführen (der Rückgabewert sollte true oder 1 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:

  1. Gehen Sie zu Claude Desktop -> Einstellungen -> Entwickler -> Konfiguration bearbeiten.
  2. Dadurch wird claude_desktop_config.json geöffnet. Fügen Sie den Abschnitt mcpServers hinzu oder ändern Sie ihn, um die MatlabMCP Konfiguration 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 } }
  3. WICHTIG: Ersetzen Sie die Pfade C:\\Users\\username\\... durch die richtigen absoluten Pfade für Ihr System.
  4. Speichern Sie die Datei und starten Sie Claude Desktop neu .
  5. Protokollierung: Serverprotokolle (aus dem logging von Python) werden in den MCP-Protokolldateien von Claude Desktop angezeigt (Zugriff über tail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.log unter macOS oder durch Überprüfen von %APPDATA%\Claude\logs\ unter Windows).

Entwicklung

Projektstruktur:

MatlabMCP/ ├── .venv/ # Virtual environment created by uv ├── Docs/ │ └── Images/ │ └── Updates.md # Documentation for updates and changes ├── main.py # The MCP server script ├── pyproject.toml # Project metadata and dependencies ├── README.md # This file └── uv.lock # Lock file for dependencies

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!

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Merkmale
    1. ZU TUN:
  2. Anforderungen
    1. Installation
      1. Konfiguration (für Claude Desktop)
        1. Entwicklung
          1. Dokumentation
            1. Beitragen

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                Allows 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 -
                10
                Python
                • Apple
              • -
                security
                A
                license
                -
                quality
                The 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 -
                4
                0
                2
                JavaScript
                MIT License
              • A
                security
                A
                license
                A
                quality
                Integrates MATLAB with AI to execute code, generate scripts from natural language, and access MATLAB documentation seamlessly.
                Last updated -
                2
                29
                JavaScript
                Apache 2.0
                • Apple
                • Linux
              • A
                security
                F
                license
                A
                quality
                A 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 -
                1
                5
                Python
                • Apple

              View all related MCP servers

              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/jigarbhoye04/MatlabMCP'

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