Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. The MATLAB MCP Core Server allows your AI applications to:
- Start and quit MATLAB.
- Write and run MATLAB code.
- Assess your MATLAB code for style and correctness.
-
Install MATLAB (MathWorks) 2020b or later and add it to the system PATH.
-
To set up the MATLAB MCP Core Server for Claude Desktop, skip to the instructions for Claude Desktop. To set up the server for other applications, follow these instructions:
For Windows or Linux, Download the Latest Release. (Alternatively, you can build from source: install Go and build the binary using
go install github.com/matlab/matlab-mcp-core-server/cmd/matlab-mcp-core-server@latest).For macOS, first download the latest release by running the following command in your terminal:
- For Apple silicon processors, run:
curl -L -o ~/Downloads/matlab-mcp-core-server https://github.com/matlab/matlab-mcp-core-server/releases/latest/download/matlab-mcp-core-server-maca64 - For Intel processors, run:
curl -L -o ~/Downloads/matlab-mcp-core-server https://github.com/matlab/matlab-mcp-core-server/releases/latest/download/matlab-mcp-core-server-maci64
Then grant executable permissions to the downloaded binary so you can run the MATLAB MCP Core Server:
chmod +x ~/Downloads/matlab-mcp-core-server - For Apple silicon processors, run:
-
Add the MATLAB MCP Core Server to your AI application. You can find instructions for adding MCP servers in the documentation of your AI application. For example instructions on using Claude Code®, Claude Desktop®, and GitHub Copilot in Visual Studio® Code, see below. Note that you can customize the server by specifying optional Arguments.
In your terminal, run the following, remembering to insert the full path to the server binary you acquired in the setup:
claude mcp add --transport stdio matlab -- /fullpath/to/matlab-mcp-core-server-binaryYou can customize the server by specifying optional Arguments. Note the -- separator between Claude Code's options and the server arguments:
claude mcp add --transport stdio matlab -- /fullpath/to/matlab-mcp-core-server-binary --initial-working-folder=/home/username/myprojectFor details on adding MCP servers in Claude Code, see Add a local stdio server (Claude Code). To remove the server later, run:
claude mcp remove matlabYou install the MATLAB MCP Core Server in Claude Desktop using the MATLAB MCP Core Server bundle.
-
Install the Filesystem extension in Claude Desktop to allow Claude to read and write files on your system. In Claude Desktop, click Settings > Extensions > Browse extensions. Search for the Filesystem extension developed by Anthropic and click Install. Specify the folders you want to allow the MCP server to access, then toggle the Disabled button to Enable the Filesystem extension.
-
Download the MATLAB MCP Core Server bundle
matlab-mcp-core-server.mcpbfrom the Latest Release page. -
To install the MATLAB MCP Core Server bundle as a desktop extension, double click the downloaded
matlab-mcp-core-server.mcpbfile and click Install in Claude Desktop. (Alternatively, navigate in Claude to File menu > Settings > Extensions > Advanced Settings > Install Extension and select thematlab-mcp-core-server.mcpbfile. Click Install).To customize the behaviour of the MATLAB MCP Core Server, navigate to Settings > Extensions > Configure, where you can modify the server's Arguments.
VS Code provides different methods to Add an MCP Server (VS Code). MathWorks recommends you follow the steps in the section "Add an MCP server to a workspace mcp.json file". In your mcp.json configuration file, add the following, remembering to insert the full path to the server binary you acquired in the setup, as well as any Arguments:
{
"servers": {
"matlab": {
"type": "stdio",
"command": "/fullpath/to/matlab-mcp-core-server-binary",
"args": []
}
}
}Customize the behavior of the server by providing arguments in the args array when configuring your AI application.
| Argument | Description | Example |
|---|---|---|
| matlab-root | Full path specifying which MATLAB to start. Do not include /bin in the path. By default, the server tries to find the first MATLAB on the system PATH. |
"--matlab-root=/home/usr/MATLAB/R2025a" |
| initialize-matlab-on-startup | To initialize MATLAB as soon as you start the server, set this argument to true. By default, MATLAB only starts when the first tool is called. |
"--initialize-matlab-on-startup=true" |
| initial-working-folder | Specify the folder where MATLAB starts. If you do not provide the argument, MATLAB starts in these locations:
|
"--initial-working-folder=C:\\Users\\name\\MyProject" |
| matlab-display-mode | Specify whether to show the MATLAB desktop. Use desktop mode (default) to show the MATLAB desktop. Use nodesktop mode to use MATLAB only from your AI application, without the MATLAB desktop. Note that in nodesktop mode, commands requiring a graphical interface (such as edit, open, open_system, uifigure, and appdesigner) will still open MATLAB windows on your desktop. |
"--matlab-display-mode=nodesktop" |
| disable-telemetry | To disable anonymized data collection, set this argument to true. For details, see Data Collection. |
"--disable-telemetry=true" |
-
detect_matlab_toolboxes- Returns information about installed MATLAB and toolboxes, including version numbers.
-
check_matlab_code- Performs static code analysis on a MATLAB script. Returns warnings about coding style, potential errors, deprecated functions, performance issues, and best practice violations. This is a non-destructive, read-only operation that helps identify code quality issues without executing the script.
- Inputs:
script_path(string): Absolute path to the MATLAB script file to analyze. Must be a valid.mfile. The file is not modified during analysis. Example:C:\Users\username\matlab\myFunction.mor/home/user/scripts/analysis.m.
-
evaluate_matlab_code- Evaluates a string of MATLAB code and returns the output.
- Inputs:
code(string): MATLAB code to evaluate.project_path(string): Absolute path to your project directory. MATLAB sets this directory as the current working folder. Example:C:\Users\username\matlab-projector/home/user/research.
-
run_matlab_file- Executes a MATLAB script and returns the output. The script must be a valid
.m file. - Inputs:
script_path(string): Absolute path to the MATLAB script file to execute. Must be a valid.mfile. Example:C:\Users\username\projects\analysis.mor/home/user/matlab/simulation.m.
- Executes a MATLAB script and returns the output. The script must be a valid
-
run_matlab_test_file- Executes a MATLAB test script and returns comprehensive test results. Designed specifically for MATLAB unit test files that follow MATLAB testing framework conventions.
- Inputs:
script_path(string): Absolute path to the MATLAB test script file. Must be a valid.mfile containing MATLAB unit tests. Example:C:\Users\username\tests\testMyFunction.mor/home/user/matlab/tests/test_analysis.m.
The MCP server provides Resources (MCP) to help your AI application write MATLAB code. To see instructions for using this resource, refer to the documentation of your AI application that explains how to use resources.
-
matlab_coding_guidelines- Provides comprehensive MATLAB coding standards for improving code readability, maintainability, and collaboration. The guidelines encompass naming conventions, formatting, commenting, performance optimization, and error handling.
- URI:
guidelines://coding - MIME Type:
text/markdown - Source: MATLAB Coding Standards (GitHub)
-
plain_text_live_code_guidelines- Provides rules and guidelines for generating live scripts using the plain text Live Code
.mfile format, suitable for version control and AI-assisted development. Note that to run plain text live scripts you need MATLAB R2025a or newer. For details, see Live Code File Format (MathWorks). - URI:
guidelines://plain-text-live-code - MIME Type:
text/markdown - Source: Plain Text Live Code Generation (GitHub)
- Provides rules and guidelines for generating live scripts using the plain text Live Code
The MATLAB MCP Core Server may collect fully anonymized information about your usage of the server and send it to MathWorks. This data collection helps MathWorks improve products and is on by default. To opt out of data collection, set the argument --disable-telemetry to true.
MathWorks encourages you to use this repository and provide feedback. To request technical support or submit an enhancement request, create a GitHub issue or email genai-support@mathworks.com.
When using the MATLAB MCP Core Server, you should thoroughly review and validate all tool calls before you run them. Always keep a human in the loop for important actions and only proceed once you are confident the call will do exactly what you expect. For more information, see User Interaction Model (MCP) and Security Considerations (MCP).
The MATLAB MCP Core server may only be used with MATLAB installations that are used as a Personal Automation Server. Use with a central Automation Server is not allowed. Please contact MathWorks if Automation Server use is required. For more information see the Program Offering Guide (MathWorks).
Copyright 2025-2026 The MathWorks, Inc.