MATLAB MCP Core Server
官方使用 MathWorks® 官方 MATLAB MCP 服务器,通过 AI 应用程序运行 MATLAB®。
你可以用 MATLAB Core MCP 做什么?
- 运行 MATLAB 代码 — 让您的 AI 评估 MATLAB 代码片段,并通过
evaluate_matlab_code返回输出。 - 执行脚本和测试 — 让您的 AI 运行
.m或.p文件(包括单元测试),并通过run_matlab_file或run_matlab_test_file获取结果。 - 检查代码质量 — 使用
check_matlab_code请求对 MATLAB 脚本进行静态分析,以检查样式、错误和最佳实践。 - 检查 MATLAB 环境 — 让您的 AI 使用
detect_matlab_toolboxes列出已安装的 MATLAB 工具箱和版本详细信息。
文档
MATLAB MCP 服务器
使用 MathWorks® 官方 MATLAB MCP 服务器,通过 AI 应用程序运行 MATLAB®。MATLAB MCP 服务器允许您的 AI 应用程序:
- 启动和退出 MATLAB。
- 编写并运行 MATLAB 代码。
- 评估您的 MATLAB 代码的风格和正确性。
为了帮助您的智能体使用 MATLAB 和 Simulink,您可以使用 MATLAB Agentic Toolkit (GitHub) 和 Simulink Agentic Toolkit (GitHub) 中的技能,这些工具包也可以为您安装此 MCP 服务器。
目录
设置
-
安装 MATLAB (MathWorks) R2021a 或更高版本,并将其添加到系统 PATH 中。
-
该服务器支持任何使用模型上下文协议(Model Context Protocol)的 AI 应用程序。要为 Claude Desktop 设置 MATLAB MCP 服务器,请跳转到 Claude Desktop 的说明。要为其他应用程序设置服务器,请按照以下说明操作:
-
对于 Windows 或 Linux,下载最新版本。(或者,您也可以从源代码构建:安装 Go 并使用
go install github.com/matlab/matlab-mcp-server/cmd/matlab-mcp-server@latest构建二进制文件。) -
对于 macOS,首先在终端中运行以下命令下载最新版本:
- 对于 Apple 芯片处理器,运行:
curl -L -o ~/Downloads/matlab-mcp-server https://github.com/matlab/matlab-mcp-server/releases/latest/download/matlab-mcp-server-macos-arm64 - 对于 Intel 处理器,运行:
curl -L -o ~/Downloads/matlab-mcp-server https://github.com/matlab/matlab-mcp-server/releases/latest/download/matlab-mcp-server-macos-x64
然后授予下载的二进制文件可执行权限,以便您可以运行 MATLAB MCP 服务器:
chmod +x ~/Downloads/matlab-mcp-server - 对于 Apple 芯片处理器,运行:
-
-
将 MATLAB MCP 服务器添加到您的 AI 应用程序中。您可以在 AI 应用程序的文档中找到添加 MCP 服务器的说明。例如,有关使用 Claude Code®、Claude Desktop® 和 Visual Studio® Code 中 GitHub Copilot 的示例说明,请参见下文。请注意,您可以通过指定可选的 参数 来自定义服务器。
Claude Code
在终端中运行以下命令,记得插入您在设置中获取的服务器二进制的完整路径:
claude mcp add --transport stdio matlab -- /fullpath/to/matlab-mcp-server-binary
您可以通过指定可选的 参数 来自定义服务器。请注意 Claude Code 选项与服务器参数之间的 -- 分隔符:
claude mcp add --transport stdio matlab -- /fullpath/to/matlab-mcp-server-binary --initial-working-folder=/home/username/myproject
有关在 Claude Code 中添加 MCP 服务器的详细信息,请参阅 添加本地 stdio 服务器 (Claude Code)。要稍后移除服务器,请运行:
claude mcp remove matlab
Claude Desktop
您可以使用 MATLAB MCP 服务器捆绑包在 Claude Desktop 中安装 MATLAB MCP 服务器。
-
在 Claude Desktop 中安装 Filesystem 扩展,以允许 Claude 读取和写入您系统上的文件。在 Claude Desktop 中,点击 设置 > 扩展 > 浏览扩展。搜索由 Anthropic 开发的 Filesystem 扩展,然后点击 安装。指定您希望允许 MCP 服务器访问的文件夹,然后切换 禁用 按钮以 启用 Filesystem 扩展。
-
从 最新版本 页面下载 MATLAB MCP 服务器捆绑包
matlab-mcp-server.mcpb。 -
要将 MATLAB MCP 服务器捆绑包安装为桌面扩展,请双击下载的
matlab-mcp-server.mcpb文件,然后在 Claude Desktop 中点击 安装。(或者,在 Claude 中导航到 文件菜单 > 设置 > 扩展 > 高级设置 > 安装扩展,然后选择matlab-mcp-server.mcpb文件。点击 安装)。
要自定义 MATLAB MCP 服务器的行为,请导航到 设置 > 扩展 > 配置,您可以在其中修改服务器的 参数。
Visual Studio Code 中的 GitHub Copilot
在您的 VS Code 工作区中,创建一个名为 .vscode/mcp.json 的文件。插入以下 JSON,记得指定您在设置中获取的服务器二进制的完整路径,以及任何 参数。然后保存文件。(请注意,在 Windows 上,您的路径需要额外的斜杠作为转义字符)。
{
"servers": {
"matlab": {
"type": "stdio",
"command": "C:\\fullpath\\to\\matlab-mcp-server-windows-x64.exe",
"args": []
}
}
}
有关在 VS Code 中使用 MCP 服务器的更多信息,请参阅 在 VS Code 中添加和管理 MCP 服务器 (VS Code)。
Codex
在终端中运行以下命令,记得插入您在设置中获取的服务器二进制的完整路径:
codex mcp add matlab -- /fullpath/to/matlab-mcp-server-binary
您可以通过指定可选的 参数 来自定义服务器。例如:
codex mcp add matlab -- /fullpath/to/matlab-mcp-server-binary --initial-working-folder=/home/username/myproject
[!NOTE] Windows 用户: Codex 不会转发
WINDIR环境变量,而您需要该变量来运行 MATLAB 和 Simulink(参见 #32)。要添加该变量,请打开您的 Codex 配置文件(位于
C:\Users\<username>\.codex\config.toml),并将env_vars = ["WINDIR"]添加到[mcp_servers.matlab]部分:[mcp_servers.matlab] command = 'C:\fullpath\to\matlab-mcp-server-windows-x64.exe' args = [] env_vars = ["WINDIR"]
参数
通过以下方式之一指定参数来自定义服务器的行为:
- 在您的 AI 应用程序的配置设置中插入参数(通常是一个
.json文件)。 - 在启动服务器时,将参数作为命令行界面(CLI)标志输入。
- 使用环境变量,可以在您的 CLI 或应用程序的配置设置中指定。要从 CLI 标志派生环境变量名称,请添加前缀
MW_MCP_SERVER_,转换为大写,并将连字符(-)替换为下划线(_)。例如,参数--matlab-root变为环境变量MW_MCP_SERVER_MATLAB_ROOT。如果您同时使用两者,CLI 标志优先于环境变量。
| 参数 | 描述 | 示例 |
|---|---|---|
| help | 显示所有参数的帮助信息。 | --help |
| version | 显示 MATLAB MCP 服务器的版本。 | --version |
| matlab-root | 指定要启动的 MATLAB 的完整路径。不要在路径中包含 /bin。默认情况下,服务器会尝试在系统 PATH 上查找第一个 MATLAB。 | Windows:--matlab-root=C:\\Program Files\\MATLAB\\R2026a Linux/macOS: --matlab-root=/home/usr/MATLAB/R2026a作为环境变量: MW_MCP_SERVER_MATLAB_ROOT=/home/usr/MATLAB/R2026a |
| initialize-matlab-on-startup | 要在启动服务器时立即初始化 MATLAB,请将此参数设置为 true。默认情况下,MATLAB 仅在首次调用工具时启动。 | --initialize-matlab-on-startup=true |
| initial-working-folder | 指定 MATLAB 启动时所在的文件夹。如果您未指定值,MATLAB 将在您的 AI 应用程序的第一个 根目录 (MCP) 路径下启动。如果您未定义根目录,MATLAB 将在以下位置启动:
| Windows:--initial-working-folder=C:\\Users\\username\\MyProject Linux/macOS: --initial-working-folder=/Users/username/MyProject |
| matlab-display-mode | 指定是否显示 MATLAB 桌面。使用 desktop 模式(默认)以显示 MATLAB 桌面。使用 nodesktop 模式以仅从您的 AI 应用程序使用 MATLAB,而不显示 MATLAB 桌面。请注意,在 nodesktop 模式下,需要图形界面的命令(例如 edit、open、open_system、uifigure 和 appdesigner)仍会在您的桌面上打开 MATLAB 窗口。 | --matlab-display-mode=nodesktop |
| matlab-session-mode | 指定 MCP 服务器是启动新的 MATLAB 还是连接到现有的 MATLAB 会话(支持 MATLAB R2023a 及更高版本)。默认是 auto 模式。new 模式: MCP 服务器启动一个新的 MATLAB 会话。auto 模式(默认): 服务器尝试连接到现有的 MATLAB 会话,您必须已按照以下说明将该会话配置为 existing 模式。如果服务器无法找到现有的 MATLAB 会话,它将启动一个新的会话。existing 模式: 服务器尝试连接到现有的 MATLAB 会话。不要将此模式与参数 matlab-root、initial-working-folder 或 matlab-display-mode 结合使用。您必须事先按照以下步骤将 MATLAB 会话配置为使用此模式:
| --matlab-session-mode=existing |
| extension-file | 要使用自定义 MCP 工具,请提供定义您的工具的 JSON 文件的路径。您也可以使用多个扩展文件。有关使用自定义工具的详细信息,请参阅 将自定义工具与 MATLAB MCP 服务器一起使用。 | Windows: --extension-file=C:\\Users\\name\\my-tools.json Linux/macOS: --extension-file=/path/to/my-tools.json 使用多个扩展文件: Windows: --extension-file=C:\\path\\to\\tools-1.json --extension-file=C:\\path\\to\\tools-2.jsonLinux/macOS: --extension-file=/path/to/tools1.json --extension-file=/path/to/tools2.json 使用环境变量: Windows: MW_MCP_SERVER_EXTENSION_FILE=C:\Users\name\tools1.json;C:\Users\name\tools2.json Linux/macOS: MW_MCP_SERVER_EXTENSION_FILE=/path/to/tools1.json:/path/to/tools2.json |
| log-folder | 指定 MCP 服务器存储日志文件的文件夹。如果未指定,服务器将使用操作系统的默认临时文件夹。 | Windows:--log-folder=C:\\Users\\name\\AppData\\Local\\Temp Linux/macOS: --log-folder=/tmp/my-logs |
| log-level | MCP 服务器的日志级别。有效值按详细程度递减的顺序为 debug、info、warn 和 error。默认值为 info。 | --log-level=debug |
| disable-telemetry | 要禁用匿名数据收集,请将此参数设置为 true。有关详细信息,请参阅 数据收集。 | --disable-telemetry=true |
工具
-
detect_matlab_toolboxes- 返回有关已安装的 MATLAB 和工具箱的信息,包括版本号。
-
check_matlab_code- 对 MATLAB 脚本执行静态代码分析。返回有关编码风格、潜在错误、已弃用函数、性能问题和最佳实践违规的警告。这是一项非破坏性、只读操作,有助于在不执行脚本的情况下识别代码质量问题。
- 输入:
script_path(字符串):要分析的 MATLAB 脚本文件的绝对路径。必须是有效的.m文件。分析过程中不会修改该文件。示例:C:\Users\username\matlab\myFunction.m或/home/user/scripts/analysis.m。
-
evaluate_matlab_code- 计算一段 MATLAB 代码字符串并返回输出。
- 输入:
code(字符串):要计算的 MATLAB 代码。project_path(字符串):项目目录的绝对路径。MATLAB 会将该目录设置为当前工作文件夹。示例:C:\Users\username\matlab-project或/home/user/research。
-
run_matlab_file- 执行 MATLAB 脚本并返回输出。该脚本必须是有效的 MATLAB 源文件(
.m)或 P 代码文件(.p)。如果 MATLAB 源文件(.m)和 P 代码文件(.p)同名且位于同一文件夹中,MATLAB 将运行.p文件。 - 输入:
script_path(字符串):要执行的 MATLAB 脚本文件的绝对路径。必须是有效的 MATLAB 源文件(.m)或 P 代码文件(.p)。示例:C:\Users\username\projects\analysis.m或/home/user/matlab/simulation.m。
- 执行 MATLAB 脚本并返回输出。该脚本必须是有效的 MATLAB 源文件(
-
run_matlab_test_file- 执行 MATLAB 测试脚本并返回全面的测试结果。专为遵循 MATLAB 测试框架约定的 MATLAB 单元测试文件而设计。
- 输入:
script_path(字符串):要执行的 MATLAB 测试脚本文件的绝对路径。必须是包含 MATLAB 单元测试的有效 MATLAB 源文件(.m)或 P 代码文件(.p)。示例:C:\Users\username\tests\testMyFunction.m或/home/user/matlab/tests/test_analysis.m。
资源
MCP 服务器提供 资源(MCP) 以帮助您的 AI 应用程序编写 MATLAB 代码。要查看使用此资源的说明,请参阅您的 AI 应用程序中关于如何使用资源的文档。
-
matlab_coding_guidelines- 提供全面的 MATLAB 编码标准,以提高代码可读性、可维护性和协作性。这些指南涵盖命名约定、格式、注释、性能优化和错误处理。
- URI:
guidelines://coding - MIME 类型:
text/markdown - 来源:MATLAB 编码标准(GitHub)
-
plain_text_live_code_guidelines- 提供使用纯文本 Live Code
.m文件格式生成实时脚本的规则和指南,适用于版本控制和 AI 辅助开发。请注意,要运行纯文本实时脚本,您需要 MATLAB R2025a 或更高版本。有关详细信息,请参阅 Live Code 文件格式(MathWorks)。 - URI:
guidelines://plain-text-live-code - MIME 类型:
text/markdown - 来源:纯文本 Live Code 生成(GitHub)
- 提供使用纯文本 Live Code
数据收集
MATLAB MCP 服务器可能会收集有关您使用服务器的完全匿名信息,并将其发送给 MathWorks。此数据收集有助于 MathWorks 改进产品,并且默认开启。要选择退出数据收集,请将参数 --disable-telemetry 设置为 true。
安全注意事项
使用 MATLAB MCP 服务器时,您应在运行所有工具调用之前彻底审查和验证它们。对于重要操作,始终保持人工参与,并且只有在您确信调用将完全按照预期执行时才继续。有关更多信息,请参阅 用户交互模型(MCP) 和 安全注意事项(MCP)。
许可和使用
许可证可在本 GitHub 仓库的 LICENSE.md 文件中获取。
MCP 服务器仅允许按照 MathWorks 软件许可协议与 MATLAB 一起使用,并且不得由多个用户共享。如果您需要支持共享或集中式服务器使用,请联系 MathWorks。
联系支持
MathWorks 鼓励您使用此仓库并提供反馈。要请求技术支持或提交增强请求,请创建 GitHub 问题或联系 MathWorks 技术支持。
版权所有 2025-2026 The MathWorks, Inc.