MATLAB MCP Server
A Model Context Protocol (MCP) server that enables seamless integration between MATLAB and MCP-compatible applications like Claude Code. Execute MATLAB code, manage workspace variables, create plots, handle data I/O, and more - all through a token-efficient MCP interface.
README
MATLAB MCP Server
A Model Context Protocol (MCP) server that enables seamless integration between MATLAB and MCP-compatible applications like Claude Code. Execute MATLAB code, manage workspace variables, create plots, handle data I/O, and more - all through a token-efficient MCP interface.
Features
- Execute MATLAB Code: Run MATLAB commands and scripts with persistent session
- Workspace Management: Get, set, list, and clear workspace variables
- Figure Operations: Save, export, and close MATLAB figures (PNG, SVG, PDF, etc.)
- Data I/O: Import/export data (CSV, JSON, XLSX) and load/save MAT files
- Environment Info: Check MATLAB version and installed toolboxes
- Documentation Access: Get MATLAB help, search functions, and find toolbox locations
- Token-Efficient Design: Multi-operation tools minimize API calls
- JSON Resources: Structured access to workspace, toolboxes, and session info
Quick Start
Prerequisites:
- MATLAB installed on your system
uvpackage manager installed (install uv)
Installation
Choose your MCP client below for setup instructions:
<details> <summary><b>Claude Code</b> (CLI)</summary>
Using CLI (Recommended):
# macOS (Apple Silicon)
claude mcp add --transport stdio matlab \
--env DYLD_LIBRARY_PATH=/Applications/MATLAB_R2025b.app/bin/maca64 \
-- uvx matlab-mcp-server
# macOS (Intel)
claude mcp add --transport stdio matlab \
--env DYLD_LIBRARY_PATH=/Applications/MATLAB_R2025b.app/bin/maci64 \
-- uvx matlab-mcp-server
# Linux
claude mcp add --transport stdio matlab \
--env LD_LIBRARY_PATH=/usr/local/MATLAB/R2024b/bin/glnxa64 \
-- uvx matlab-mcp-server
Scope options:
- Default (local): Private to you, only this project
--scope project: Share with team (stores in.mcp.json, can be committed to git)--scope user: Available across all your projects
Manual configuration (.mcp.json in project root):
{
"mcpServers": {
"matlab": {
"command": "uvx",
"args": ["matlab-mcp-server"],
"env": {
"DYLD_LIBRARY_PATH": "/Applications/MATLAB_R2025b.app/bin/maca64"
}
}
}
}
Replace with your MATLAB path. Use LD_LIBRARY_PATH for Linux.
Verify:
claude mcp list
claude mcp info matlab
</details>
<details> <summary><b>Claude Desktop</b></summary>
Configuration File Location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Configuration:
{
"mcpServers": {
"matlab": {
"command": "uvx",
"args": ["matlab-mcp-server"],
"env": {
"DYLD_LIBRARY_PATH": "/Applications/MATLAB_R2025b.app/bin/maca64"
}
}
}
}
Platform-specific environment variables:
- macOS (Apple Silicon):
"DYLD_LIBRARY_PATH": "/Applications/MATLAB_R2025b.app/bin/maca64" - macOS (Intel):
"DYLD_LIBRARY_PATH": "/Applications/MATLAB_R2025b.app/bin/maci64" - Linux:
"LD_LIBRARY_PATH": "/usr/local/MATLAB/R2024b/bin/glnxa64" - Windows: Usually not needed (installer handles library paths)
Steps:
- Create or edit the config file at the location above
- Add your MCP server configuration with correct MATLAB path
- Restart Claude Desktop completely (quit and reopen)
- Look for the MCP server icon (🔨) in Claude Desktop interface
</details>
<details> <summary><b>Cursor</b></summary>
UI Configuration:
Go to Cursor Settings → MCP → Add new MCP Server:
- Name:
matlab - Command:
uvx matlab-mcp-server - Click
Editto add environment variables
Configuration File Location:
- macOS:
~/Library/Application Support/Cursor/mcp_config.json - Windows:
%APPDATA%\Cursor\mcp_config.json - Linux:
~/.config/Cursor/mcp_config.json
Configuration:
{
"mcpServers": {
"matlab": {
"command": "uvx",
"args": ["matlab-mcp-server"],
"env": {
"DYLD_LIBRARY_PATH": "/Applications/MATLAB_R2025b.app/bin/maca64"
}
}
}
}
Replace with your MATLAB path (see Claude Desktop section for platform-specific paths).
Steps:
- Create
mcp_config.jsonif it doesn't exist - Add MCP server configuration
- Restart Cursor completely
</details>
<details> <summary><b>VS Code</b> (GitHub Copilot)</summary>
VS Code Settings (User or Workspace):
{
"github.copilot.chat.mcp.servers": {
"matlab": {
"command": "uvx",
"args": ["matlab-mcp-server"],
"env": {
"DYLD_LIBRARY_PATH": "/Applications/MATLAB_R2025b.app/bin/maca64"
}
}
}
}
CLI Installation:
# macOS (Apple Silicon)
code --add-mcp '{"name":"matlab","command":"uvx","args":["matlab-mcp-server"],"env":{"DYLD_LIBRARY_PATH":"/Applications/MATLAB_R2025b.app/bin/maca64"}}'
# Linux
code --add-mcp '{"name":"matlab","command":"uvx","args":["matlab-mcp-server"],"env":{"LD_LIBRARY_PATH":"/usr/local/MATLAB/R2024b/bin/glnxa64"}}'
Replace with your MATLAB path (see Claude Desktop section for platform-specific paths).
Resources:
</details>
<details> <summary><b>Codex</b></summary>
CLI:
codex mcp add matlab uvx "matlab-mcp-server"
Then manually edit ~/.codex/config.toml to add environment variables:
Edit ~/.codex/config.toml:
[mcp_servers.matlab]
command = "uvx"
args = ["matlab-mcp-server"]
[mcp_servers.matlab.env]
DYLD_LIBRARY_PATH = "/Applications/MATLAB_R2025b.app/bin/maca64"
Platform-specific environment variables:
- macOS (Apple Silicon):
DYLD_LIBRARY_PATH = "/Applications/MATLAB_R2025b.app/bin/maca64" - macOS (Intel):
DYLD_LIBRARY_PATH = "/Applications/MATLAB_R2025b.app/bin/maci64" - Linux:
LD_LIBRARY_PATH = "/usr/local/MATLAB/R2024b/bin/glnxa64"
Resources:
</details>
For 11 additional clients (Windsurf, Continue, Amp, Cline, Gemini CLI, Goose, Kiro, LM Studio, opencode, Qodo Gen, Warp), see Complete Setup Guide →
Finding Your MATLAB Library Path
If you don't know your MATLAB library path, use the configuration helper:
curl -fsSL https://raw.githubusercontent.com/subspace-lab/matlab-mcp-server/main/install-matlab-mcp.sh | bash
The script will:
- Auto-detect your MATLAB installation
- Display the config with the correct paths
- You copy and paste it into your MCP client's config file
That's it! When your MCP client starts, uvx will automatically:
- Download
matlab-mcp-serverfrom PyPI - Install
matlabengineand all dependencies - Start the MATLAB MCP server
Manual Installation
If you prefer to install manually or the automated installer doesn't work:
1. Install matlabengine
# Navigate to your MATLAB Python engine directory
cd /Applications/MATLAB_R20XXx.app/extern/engines/python # macOS
# OR
cd /usr/local/MATLAB/R20XXx/extern/engines/python # Linux
# Install using uv
uv pip install .
Replace R20XXx with your MATLAB version (e.g., R2024a, R2024b, R2025a).
2. Install matlab-mcp-server
uv pip install matlab-mcp-server
3. Configure MCP server
Follow the configuration instructions for your MCP client in the sections above. Use matlab-mcp as the command instead of uvx matlab-mcp-server.
Example for Claude Code (.mcp.json in project root):
{
"mcpServers": {
"matlab": {
"command": "matlab-mcp",
"env": {
"DYLD_LIBRARY_PATH": "/Applications/MATLAB_R2025b.app/bin/maca64"
}
}
}
}
Replace with your MATLAB path:
- macOS (Apple Silicon):
DYLD_LIBRARY_PATH→/Applications/MATLAB_R20XXx.app/bin/maca64 - macOS (Intel):
DYLD_LIBRARY_PATH→/Applications/MATLAB_R20XXx.app/bin/maci64 - Linux:
LD_LIBRARY_PATH→/usr/local/MATLAB/R20XXx/bin/glnxa64 - Windows: Usually not needed
For other MCP clients, see configuration sections above or MCP_CLIENT_SETUP.md
Available Tools
The server provides 8 MCP tools for interacting with MATLAB:
execute_matlab- Execute MATLAB code and get resultsworkspace- Manage workspace variables (get, set, list, clear)figure- Save, export, and manage MATLAB figures (PNG, SVG, PDF, etc.)data_io- Import/export data in various formats (CSV, JSON, XLSX, MAT files)env- Get MATLAB version and check installed toolboxesget_help- Access MATLAB documentation and search functionsroute_intent- Suggest appropriate tool mode (meta-tool)select_mode- Enable optional tool groups (meta-tool)
For detailed documentation on each tool, see TOOLS.md or MATLAB_MCP_GUIDE.md.
Troubleshooting
MATLAB Engine Not Found
If you get an error about MATLAB engine not being found:
- Ensure MATLAB is properly installed
- Verify MATLAB Engine API for Python is installed
- Check Python version matches MATLAB compatibility
- Verify library path is correctly set in config
Library Path Issues
Default MATLAB locations:
- macOS:
/Applications/MATLAB_R20XXx.app - Linux:
/usr/local/MATLAB/R20XXx - Windows:
C:\Program Files\MATLAB\R20XXx
If MATLAB is in a non-standard location, update the library path in your config.
Documentation
- CONTRIBUTING.md - Development setup and guidelines
- PLANNING.md - Roadmap and architecture
- MATLAB_MCP_GUIDE.md - Detailed usage guide
- TOOLS.md - Tool catalog
License
MIT License
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for development setup and guidelines.
Star History
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.