关于 MATLAB MCP Server
MATLAB MCP Server 是 MathWorks 官方提供的 MCP 服务,让 AI 应用能够启动和退出 MATLAB、编写并运行 MATLAB 代码,并检查代码的风格与正确性。适合使用 MATLAB 的工程师和希望借助 AI 编码 Agent 处理 MATLAB 任务的用户。
主要功能
- 01启动与退出 MATLAB
- 02编写并运行 MATLAB 代码
- 03对 MATLAB 脚本进行静态代码分析
- 04检测已安装的 MATLAB 和工具箱版本
- 05支持连接已有的 MATLAB 会话
适用场景
- 01让 AI 编码 Agent 编写并运行 MATLAB 脚本
- 02对 .m 文件做风格和正确性检查
- 03查询本机 MATLAB 及工具箱版本信息
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 MATLAB 相关工具,例如 detect_matlab_toolboxes 与 check_matlab_code。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MATLAB MCP 服务
English • Español • 日本語 • 한국어 • 简体中文
使用 MathWorks® 官方 MATLAB MCP 服务,通过 AI 应用运行 MATLAB®。MATLAB MCP 服务可让您的 AI 应用:
- 启动并退出 MATLAB。
- 编写并运行 MATLAB 代码。
- 评估 MATLAB 代码的风格和正确性。
您可以使用 MATLAB Agentic Toolkit (GitHub) 和 Simulink Agentic Toolkit (GitHub) 中的技能,帮助 Agent 使用 MATLAB 和 Simulink;这些工具包也可以为您安装此 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 silicon 处理器,请运行:
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 silicon 处理器,请运行:
-
-
将 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 Server 捆绑包在 Claude Desktop 中安装 MATLAB MCP Server。
-
在 Claude Desktop 中安装 Filesystem 扩展,以允许 Claude 在你的系统上读取和写入文件。在 Claude Desktop 中,点击 Settings > Extensions > Browse extensions。搜索 Anthropic 开发的 Filesystem 扩展并点击 Install。指定要允许 MCP 服务访问的文件夹,然后将 Disabled 按钮切换为 Enable,以启用 Filesystem 扩展。
-
从 Latest Release 页面下载 MATLAB MCP Server 捆绑包
matlab-mcp-server.mcpb。 -
若要将 MATLAB MCP Server 捆绑包安装为桌面扩展,请双击下载的
matlab-mcp-server.mcpb文件,然后在 Claude Desktop 中点击 Install。(或者,在 Claude 中依次点击 File menu > Settings > Extensions > Advanced Settings > Install Extension,然后选择matlab-mcp-server.mcpb文件。点击 Install)。
若要自定义 MATLAB MCP Server 的行为,请前往 Settings > Extensions > Configure,在此处可以修改服务的参数。
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
说明
Windows 用户: Codex 不会转发运行 MATLAB 和 Simulink 所需的
WINDIR环境变量(参见 #32)。若要添加该变量,请打开 Codex 配置文件
C:\Users\<username>\.codex\config.toml,并在[mcp_servers.matlab]部分添加env_vars = ["WINDIR"]:[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 Server 的版本。 |--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 应用的第一个 Root (MCP) 路径下启动。如果未定义 root,MATLAB 会在以下位置启动:
- Linux:
/home/username - Windows:
C:\Users\username\Documents - Mac:
/Users/username/Documents
--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 会话:- 如果是首次使用
existing模式,请运行./matlab-mcp-server --setup-matlab。
此命令会在 MATLAB 中安装名为 MATLAB MCP Server Toolbox 的附加组件。你可以使用此表中的其他参数自定义命令。例如,若要指定安装工具箱所用的 MATLAB,可以使用./matlab-mcp-server --setup-matlab --matlab-root=/home/usr/MATLAB/R2026a。
对于 Claude Desktop,运行./matlab-mcp-server --setup-matlab前,必须按照 Setup 中的说明下载 MATLAB MCP Server 二进制文件。 - 在正在运行的 MATLAB 会话的命令窗口中,运行
shareMATLABSession()。使用--matlab-session-mode=existing或--matlab-session-mode=auto启动服务时,MCP 服务会连接到此 MATLAB。如果运行着多个 MATLAB 会话,服务会连接到最近一次运行命令shareMATLABSession()的 MATLAB 会话。
除了手动运行shareMATLABSession(),你还可以将此命令添加到 MATLAB 的 Startup Script (MathWorks) 中。
--matlab-session-mode=existing| | extension-file | 若要使用自定义 MCP 工具,请提供定义这些工具的 JSON 文件路径。你也可以使用多个扩展文件。有关使用自定义工具的详情,请参阅 Use Custom Tools with the MATLAB MCP Server。 |
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.json
Linux/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。详情请参阅 Data Collection。 |--disable-telemetry=true| - Linux:
工具
-
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-code 文件(.p)。如果同一文件夹中有同名的 MATLAB 源文件(.m)和 P-code 文件(.p),MATLAB 会运行.p文件。 - 输入:
script_path(字符串):要执行的 MATLAB 脚本文件的绝对路径。必须是有效的 MATLAB 源文件(.m)或 P-code 文件(.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-code 文件(.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 Server 可能会收集有关你使用该服务的完全匿名信息,并将其发送给 MathWorks。收集这些数据有助于 MathWorks 改进产品,且默认启用。如要选择退出数据收集,请将参数 --disable-telemetry 设为 true。
安全注意事项
使用 MATLAB MCP Server 时,应在运行工具调用前仔细审查并验证所有调用。对于重要操作,务必让人工参与审核,只有在确信调用会按预期执行时才继续。有关更多信息,请参阅 用户交互模型(MCP) 和 安全注意事项(MCP)。
许可与使用
许可条款见此 GitHub 仓库中的 LICENSE.md 文件。
MCP 服务仅可根据 MathWorks Software License Agreement 与 MATLAB 一起使用,且不得由多个用户共享。如需支持共享或集中式服务,请联系 MathWorks。
联系支持
MathWorks 鼓励您使用此仓库并提供反馈。若要申请技术支持或提交增强请求,请创建 GitHub issue,或联系 MathWorks 技术支持。
版权所有 2025-2026 The MathWorks, Inc.
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。