MATLAB
Execute MATLAB scripts and functions via MCP clients. Requires a local MATLAB installation.
MATLAB MCP Server
This Model Context Protocol (MCP) server provides integration with MATLAB, allowing you to create and execute MATLAB scripts and functions through Claude or other MCP clients.
Setup Requirements
- Python 3.11 (Python 3.13 and 3.12 are not currently supported by MATLAB Engine)
- MATLAB R2024a (or compatible version)
- uv package manager
Installation
- Create and set up the Python environment:
# Pin Python version
uv python pin 3.11
# Create virtual environment
uv venv
# Activate virtual environment
source .venv/bin/activate
# Install MCP
uv add "mcp[cli]"
- Install MATLAB Engine
The MATLAB Engine will be installed automatically when the server first runs, using the MATLAB installation specified in the
MATLAB_PATHenvironment variable.
Directory Structure
matlab_server.py: The main MCP server implementationmatlab_scripts/: Directory where all MATLAB scripts and functions are saved (created automatically)pyproject.toml: Python project configuration.python-version: Specifies Python version for uv
Claude Desktop Integration
- Open your Claude Desktop configuration:
# On macOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
- Add the MATLAB server configuration:
{
"mcpServers": {
"matlab": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/matlab-mcp",
"run",
"matlab_server.py"
],
"env": {
"MATLAB_PATH": "/Applications/MATLAB_R2024a.app"
}
}
}
}
Make sure to:
- Replace
/absolute/path/to/matlab-mcpwith the actual path to your project directory - Verify the
MATLAB_PATHpoints to your MATLAB installation - Use absolute paths (not relative)
Features
The server provides several tools:
-
create_matlab_script: Create a new MATLAB script file- Scripts are saved in the
matlab_scriptsdirectory - File names must be valid MATLAB identifiers
- Scripts are saved in the
-
create_matlab_function: Create a new MATLAB function file- Functions are saved in the
matlab_scriptsdirectory - Must include valid function definition
- Functions are saved in the
-
execute_matlab_script: Run a MATLAB script and get results- Returns output text, generated figures, and workspace variables
- Can pass arguments to scripts
-
call_matlab_function: Call a MATLAB function with arguments- Returns function output and any generated figures
Testing
You can test the server using the MCP Inspector:
# Make sure you're in your virtual environment
source .venv/bin/activate
# Run the inspector
MATLAB_PATH=/Applications/MATLAB_R2024a.app mcp dev matlab_server.py
Example test script:
t = 0:0.01:2*pi;
y = sin(t);
plot(t, y);
title('Test Plot');
xlabel('Time');
ylabel('Amplitude');
Script Storage
- All MATLAB scripts and functions are saved in the
matlab_scriptsdirectory - This directory is created automatically when the server starts
- Files are named
<script_name>.mor<function_name>.m - The directory is in the same location as
matlab_server.py
Environment Variables
MATLAB_PATH: Path to your MATLAB installation- Default:
/Applications/MATLAB_R2024a.app - Set in Claude Desktop config or when running directly
- Default:
Troubleshooting
-
MATLAB Engine Installation Fails
- Verify MATLAB_PATH is correct
- Try installing engine manually:
cd $MATLAB_PATH/extern/engines/python python setup.py install
-
Python Version Issues
- Make sure you're using Python 3.11
- Check with:
python --version - Use
uv python pin 3.11if needed
-
Script Execution Errors
- Check the
matlab_scriptsdirectory exists - Verify script syntax is valid
- Look for error messages in MATLAB output
- Check the
Updates and Maintenance
- Keep your MATLAB installation updated
- Update Python packages as needed:
uv pip install --upgrade mcp[cli] - Check MATLAB engine compatibility when updating Python
Related Servers
Pickapicon
Quickly retrieve SVGs using the Iconify API, with no external data files required.
BrowserStack
Bring the full power of BrowserStack’s Test Platform to your AI tools, making testing faster and easier for every developer and tester on your team.
Uniswap PoolSpy
Tracks newly created Uniswap liquidity pools across nine blockchain networks, providing real-time data for DeFi analysts, traders, and developers.
AbletonMCP
Control Ableton Live with AI prompts for music production, track creation, and session manipulation.
Distance Tools MCP
A remote MCP server example deployable on Cloudflare Workers, featuring customizable tools and no authentication.
Adamik MCP Server
Interact with over 60 blockchain networks using any MCP client. Requires an Adamik API key.
MCP Agent Orchestration System
A state-based agent orchestration system using the Model Context Protocol (MCP).
302AI Custom MCP Server
A customizable MCP service with flexible tool selection and configuration. Requires a 302AI API key.
MCP Pyrefly
A server for real-time Python code validation using Pyrefly, designed to prevent common coding errors from LLMs.
VSCode MCP
Enables AI agents and assistants to interact with VSCode through the Model Context Protocol.