SkillAgentSearch skills...

matlab-mcp-server

Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. This MCP server for MATLAB supports a wide range of coding agents like Claude Code® and Visual Studio® Code.

Install / Use

claude mcp add matlab -- npx -y github:matlab/matlab-mcp-server

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

94/100

Supported Platforms

Claude Code
Claude Desktop

Tags

MATLAB MCP Server

<p align="center"> English • <a href="l10n/README.es.md">Español</a> • <a href="l10n/README.ja.md">日本語</a> • <a href="l10n/README.ko.md">한국어</a> • <a href="l10n/README.zh-cn.md">简体中文</a> </p>

Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. The MATLAB MCP Server allows your AI applications to:

  • Start and quit MATLAB.
  • Write and run MATLAB code.
  • Assess your MATLAB code for style and correctness.

To assist your agent in using MATLAB and Simulink, you can use skills from MATLAB Agentic Toolkit (GitHub) and Simulink Agentic Toolkit (GitHub), which can also install this MCP server for you.

Table of Contents

Setup

  1. Install MATLAB (MathWorks) R2021a or later and add it to the system PATH. The MATLAB MCP Server supports MATLAB releases from the past five years.

  2. The server supports any AI application that uses Model Context Protocol. To set up the MATLAB MCP 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-server/cmd/matlab-mcp-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-server https://github.com/matlab/matlab-mcp-server/releases/latest/download/matlab-mcp-server-macos-arm64
        
      • For Intel processors, run:
        curl -L -o ~/Downloads/matlab-mcp-server https://github.com/matlab/matlab-mcp-server/releases/latest/download/matlab-mcp-server-macos-x64
        

      Then grant executable permissions to the downloaded binary so you can run the MATLAB MCP Server:

      chmod +x ~/Downloads/matlab-mcp-server
      
  3. Add the MATLAB MCP 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.

Claude Code

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-server-binary

You 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-server-binary --initial-working-folder=/home/username/myproject

For 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 matlab

Claude Desktop

You install the MATLAB MCP Server in Claude Desktop using the MATLAB MCP Server bundle.

  1. 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.

  2. Download the MATLAB MCP Server bundle matlab-mcp-server.mcpb from the Latest Release page.

  3. To install the MATLAB MCP Server bundle as a desktop extension, double click the downloaded matlab-mcp-server.mcpb file and click Install in Claude Desktop. (Alternatively, navigate in Claude to File menu > Settings > Extensions > Advanced Settings > Install Extension and select the matlab-mcp-server.mcpb file. Click Install).

To customize the behaviour of the MATLAB MCP Server, navigate to Settings > Extensions > Configure, where you can modify the server's Arguments.

GitHub Copilot in Visual Studio Code

In your VS Code workspace, create a file named .vscode/mcp.json. Insert the following JSON, remembering to specify the full path to the server binary you acquired in the setup, as well as any Arguments. Then save the file. (Note that on Windows, your paths require extra slashes as escape characters).

{
    "servers": {
        "matlab": {
            "type": "stdio",
            "command": "C:\\fullpath\\to\\matlab-mcp-server-windows-x64.exe",
            "args": []
        }
    }
}

For more information about using MCP servers in VS Code, see Add and Manage MCP servers in VS Code (VS Code).

Codex

In your terminal, run the following, remembering to insert the full path to the server binary you acquired in the setup:

codex mcp add matlab -- /fullpath/to/matlab-mcp-server-binary

You can customize the server by specifying optional Arguments. For example:

codex mcp add matlab -- /fullpath/to/matlab-mcp-server-binary --initial-working-folder=/home/username/myproject

[!NOTE] Windows users: Codex does not forward the WINDIR environment variable, which you need to run MATLAB and Simulink (see #32).

To add the variable, open your Codex config file at C:\Users\<username>\.codex\config.toml, and add env_vars = ["WINDIR"] to the [mcp_servers.matlab] section:

[mcp_servers.matlab]
command = 'C:\fullpath\to\matlab-mcp-server-windows-x64.exe'
args = []
env_vars = ["WINDIR"]

Arguments

Customize the behavior of the server by specifying arguments in one of these ways:

  • Insert the arguments in the configuration settings of your AI application (usually a .json file).
  • Enter the arguments as command-line interface (CLI) flags when you start the server.
  • Use environment variables, specified either in your CLI or application's configuration settings. To derive the environment variable name from a CLI flag, add the prefix MW_MCP_SERVER_, convert to uppercase, and replace hyphens (-) with underscores (_). For example, the argument --matlab-root becomes the environment variable MW_MCP_SERVER_MATLAB_ROOT. CLI flags take precedence over environment variables, if you use both.

| Argument | Description | Example | | ------------- | ------------- | ------------- | | help | Displays help information for all arguments. | --help | | version | Displays the version of the MATLAB MCP Server. | --version | | 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. | Windows: --matlab-root=C:\\Program Files\\MATLAB\\R2026a <br><br> Linux/macOS: --matlab-root=/home/usr/MATLAB/R2026a<br><br>As an environment variable: MW_MCP_SERVER_MATLAB_ROOT=/home/usr/MATLAB/R2026a | | 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 specify a value, MATLAB starts at the path of your AI application's first Root (MCP). If you have not defined a root, MATLAB starts in these locations: <br> <ul><li>Linux: /home/username </li><li> Windows: C:\Users\username\Documents</li><li>Mac: /Users/username/Documents</li></ul> | Windows: --initial-working-folder=C:\\Users\\username\\MyProject <br><br> Linux/macOS: --initial-working-folder=/Users/username/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 | | matlab-session-mode | Specify whether the MCP server starts a new MATLAB or connects to an existing MATLAB session (supported for MATLAB R2023a onwards). The default is auto mode.<br><br> new mode: The MCP server starts a new MATLAB session. <br><br>auto mode (default): The server tries to connect to an existing MATLAB session, which you must have configured for existing mode using the instructions below. If the server is unable to find an existing MATLAB session, it starts a new one. <br><br>existing mode: The server tries to connect to an existing MATLAB session. You must have configured your MATLAB session beforehand to use this mode, with these steps:<br><br><ol><li>If you are using existing mode for the first time, run ./matlab-mcp-server --setup-matlab.<br><br>This command installs an add-on named MATLAB MCP Server Toolbox in MATLAB. You can customize the command with other arguments from this table. For example, to specify which MATLAB to use to install the toolbox, you can use ./matlab-mcp-server --setup-matlab --matlab-root=/home/usr/MATLAB/R2026a.<br><br>For Claude Desktop, you must download the MATLAB MCP Server binary using the instructions in Setup before you run ./matlab-mcp-server --setup-matlab.<br><br></li><li>In the command window of a running MATLAB session, run shareMATLABSession(). The MCP server will connect to this MATLAB when you start the server with --matlab-session-mode=existing or --matlab-session-mode=auto. If you are running multiple MATLAB sessions, the server connects to the MATLAB session where you most recently ran the command shareMATLABSession().<br><br>As an alternative to running shareMATLABSession() manually, you can add the command to your MATLAB Startup Script (MathWorks).</li></ol> | --matlab-session-mode=existing | | extension-file | To use custom MCP tools, provide a path to a JSON file that defines your tools. You can also use multiple extension files. For details on using custom tools, see Use Custom Tools with the MATLAB MCP Server. | <br><br>Windows: --extension-file=C:\\Users\\name\\my-tools.json <br><br> Linux/macOS: --extension-file=/path/to/my-tools.json <br><br> Using multiple extension files:<br><br>Windows:--extension-file=C:\\path\\to\\tools-1.json --extension-file=C:\\path\\to\\tools-2.json<br><br>Linux/macOS:--extension-file=/path/to/tools1.json --extension-file=/path/to/tools2.json <br><br> Using environment variables: <br><br> Windows: `MW_MCP_SERVER_EXTENSION_FILE=C:\Users\name\tools1.json;C:\U

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars1.6k
CategoryCustomer
Updated3d ago
Forks126

Languages

Go

Security Score

88/100

Audited on Sep 18, 2026

1 medium