MATLAB MCP Integration
@jigarbhoye04
MCP server to run MATLAB code from LLM via the Matlab Engine API.
Overview
What is MATLAB MCP Integration?
This is an MCP (Model Context Protocol) server that enables MCP clients—such as LLM agents or Claude Desktop—to interact directly with a shared MATLAB session. It uses the MATLAB Engine API for Python to execute MATLAB code, retrieve workspace variables, and return structured JSON results.
How to use MATLAB MCP Integration?
Install the server by cloning the repository, setting up a Python virtual environment (recommended with uv), and installing dependencies. Then start MATLAB and run matlab.engine.shareEngine to make the engine available. Finally, configure the MCP client (e.g., Claude Desktop) by editing its claude_desktop_config.json to point to the uv runner and the server’s main.py script. Tools exposed are runMatlabCode (execute arbitrary MATLAB code) and getVariable (retrieve workspace variables).
Key features of MATLAB MCP Integration
- Execute arbitrary MATLAB code via the
runMatlabCodetool. - Retrieve workspace variables with the
getVariabletool. - Returns results and errors as structured JSON.
- Non‑blocking execution using
asyncio.to_thread. - Standard logging to stderr for client visibility.
- Connects to an existing shared MATLAB session.
Use cases of MATLAB MCP Integration
- Interactive data analysis and visualization from a chat interface.
- Automated generation of MATLAB scripts and figures via an LLM.
- Coupling MATLAB’s numerical computation with AI‑driven workflows.
- Rapid prototyping without leaving the MCP client environment.
FAQ from MATLAB MCP Integration
What are the requirements to run MATLAB MCP Integration?
Python 3.12 or higher, MATLAB (R2023a or higher recommended) with the MATLAB Engine API for Python installed, and the numpy Python package.
How do I share the MATLAB engine so the server can connect?
In the MATLAB Command Window, run matlab.engine.shareEngine. Verify with matlab.engine.isEngineShared, which should return true or 1.
How do I configure MATLAB MCP Integration with Claude Desktop?
Edit claude_desktop_config.json and add an entry under mcpServers with the command set to your uv executable, args containing ["--directory", "<absolute-path-to-repo>", "run", "main.py"]. Use absolute paths and restart Claude Desktop.
What tools does the server provide?
Two tools: runMatlabCode to execute any MATLAB code, and getVariable to fetch the value of a variable from the MATLAB workspace. Both return structured JSON.
Where can I find more detailed documentation?
The repository contains an Updates.md file in the Docs/ folder with detailed documentation on features, usage, and development notes. A DeepWiki page is also linked in the README.