Sponsored by Deepsite.site

MATLAB MCP Integration

Created By
jigarbhoye048 months ago
MCP server to run MATLAB code from LLM via the Matlab Engine API.
Content

MATLAB MCP Integration

This is an implementation of a Model Context Protocol (MCP) server for MATLAB. It allows MCP clients (like LLM agents or Claude Desktop) to interact with a shared MATLAB session using the MATLAB Engine API for Python.

Features

  • Execute MATLAB Code: Run arbitrary MATLAB code snippets via the runMatlabCode tool.
  • Retrieve Variables: Get the value of variables from the MATLAB workspace using the getVariable tool.
  • Structured Communication: Tools return results and errors as structured JSON for easier programmatic use by clients.
  • Non-Blocking Execution: MATLAB engine calls are run asynchronously using asyncio.to_thread to prevent blocking the server.
  • Standard Logging: Uses Python's standard logging module, outputting to stderr for visibility in client logs.
  • Shared Session: Connects to an existing shared MATLAB session.

TODO:

  • Add a setVariable tool to write data to the MATLAB workspace.
  • Add a runScript tool to execute .m files directly.
  • Add tools for workspace management (e.g., clearWorkspace, getWorkspaceVariables).
  • Expand matlab_to_python helper to handle more complex data types (structs, cell arrays, objects).
  • Add support for interacting with Simulink models.

Requirements

  • Python 3.12 or higher
  • MATLAB (R2023a or higher recommended - check MATLAB Engine API for Python compatibility) with the MATLAB Engine API for Python installed.
  • numpy Python package.

Installation

  1. Clone this repository:

    git clone https://github.com/jigarbhoye04/MatlabMCP.git
    cd MatlabMCP
    
  2. Set up a Python virtual environment (recommended):

    # 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. Install dependencies:

    uv pip sync
    
  4. Ensure MATLAB is installed and the MATLAB Engine API for Python is configured for your Python environment. See MATLAB Documentation.

  5. Start MATLAB and share its engine: Run the following command in the MATLAB Command Window:

    matlab.engine.shareEngine
    

    You can verify it's shared by running matlab.engine.isEngineShared in MATLAB (it should return true or 1). The MCP server needs this shared engine to connect.

Configuration (for Claude Desktop)

To use this server with Claude Desktop:

  1. Go to Claude Desktop -> Settings -> Developer -> Edit Config.

  2. This will open claude_desktop_config.json. Add or modify the mcpServers section to include the MatlabMCP configuration:

    {
      "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. IMPORTANT: Replace C:\\Users\\username\\... paths with the correct absolute paths for your system.

  4. Save the file and restart Claude Desktop.

  5. Logging: Server logs (from Python's logging module) will appear in Claude Desktop's MCP log files (accessible via tail -f ~/Library/Logs/Claude/mcp-server-MatlabMCP.log on macOS or checking %APPDATA%\Claude\logs\ on Windows).

Development

Project Structure:

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

Documentation

Check out Updates for detailed documentation on the server's features, usage, and development notes.

Contributing

Contributions are welcome! If you have any suggestions or improvements, feel free to open an issue or submit a pull request.

Let's make this even better together!

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
ChatWiseThe second fastest AI chatbot™
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Playwright McpPlaywright MCP server
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Tavily Mcp
DeepChatYour AI Partner on Desktop
Serper MCP ServerA Serper MCP Server
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
WindsurfThe new purpose-built IDE to harness magic
CursorThe AI Code Editor
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Amap Maps高德地图官方 MCP Server