MATLAB MCP Server
让支持 MCP 的 AI 应用启动 MATLAB、执行代码并检查脚本质量。
服务器采用本地 stdio 集成,并允许用户指定工作目录和 Claude Desktop 文件夹范围,体现了一定的最小权限意识;但任意 MATLAB 代码执行、自定义工具以及文件系统扩展仍具有广泛能力,未见服务器端沙箱。文档要求人工审查工具调用,但证据仅是建议,未显示强制确认机制。遥测默认开启、可明确退出,数据流方向也有说明;扣分在于没有列出采集字段、保留期限、传输端点或日志脱敏规则。对凭据、敏感文件和日志内容的专门处理说明较少。依赖版本固定,并明确记录三个 CVE/Dependabot 缓解性固定版本,安全漏洞也有报告渠道,因此依赖安全证据充分。工具的执行性外部影响和 GUI 例外有披露,但 MATLAB 代码可能产生的文件、网络或系统副作用未逐项约束。卸载命令可移除部分客户端配置,但代码执行结果缺少通用回滚方案。仓库、资源来源、版权和支持方均有署名;由于给定的企业注册信息未验证发布者身份,未给满分,但也不将未知身份视为可疑。
README 中的工具、参数、版本要求和客户端配置整体一致,并区分只读检查与执行操作;但所给材料缺少实现代码,无法充分交叉核对行为契约。MATLAB R2021a 起、近五年版本范围、R2023a/R2025a 功能门槛、PATH、Go 构建方式和各平台二进制均有说明,因此依赖可用性处理较好;扣分在于依赖最新发布链接和外部 MATLAB 安装,且未提供离线或兼容性矩阵细节。日志目录和级别可配置,Windows Codex 的 WINDIR 问题也有提示,但没有系统列举常见运行失败、错误格式、恢复步骤或诊断示例,所以失败消息证据较薄。
材料覆盖 Claude Code、Claude Desktop、VS Code/Copilot、Codex、Windows、Linux、macOS及多语言读者,受众与场景说明充分。工具清单、输入字段、版本门槛、桌面与无桌面模式以及现有会话条件界定了主要边界;但任意代码执行和 extension-file 扩展能力的安全边界、拒绝条件与资源限制仍不完整。工具名称和参数较精确,静态检查与执行工具分离,不过没有展示代理应在何时选择、避免或确认各工具的完整触发策略。环境适配包含路径差异、环境变量映射、客户端配置和 Windows 特例,证据完整。
README 具有清晰目录,并将安装、参数、工具、资源、遥测、安全、许可和支持分区,信息架构成熟。四类客户端、三类操作系统以及源码构建均给出可直接使用的安装示例。服务器名、工具名、CLI 标志和环境变量映射保持一致。示例丰富,但没有独立 FAQ 或覆盖常见故障的端到端教程,因此 examples_and_faq 未满分。已注明 MATLAB 版本、GUI 命令例外、共享会话限制、单用户许可和 Windows WINDIR 问题,但缺少集中、全面的已知限制清单。LICENSE.md 给出完整的限制性 BSD 风格条款并指出第三方许可证位置,许可证据充分。材料提到 latest release 和版本参数,却未提供变更日志、兼容性迁移或发布节奏,因此版本治理较弱。版权、GitHub issue、技术支持和安全邮箱提供维护路径;但发布者未被给定注册表验证,且未见明确维护者名单或响应承诺,故不满分。
工具返回 MATLAB/工具箱信息、静态检查警告、执行输出和综合测试结果,输出用途清楚,普通工作流可直接消费。它把多个 AI 客户端连接到 MATLAB,并提供代码检查、执行、测试和编码资源,具有明确增量价值;但所给静态材料没有效果比较、采用数据或结果质量证据。安装与配置相对直接,也可下载二进制;扣分在于必须具备受许可约束的 MATLAB、可能启动重量级桌面或会话、默认遥测以及单用户限制,这些增加了成本和部署约束。
主要能力可以追溯到具体工具、参数、资源和版本说明,依赖及 CVE 缓解也有精确版本注释;但缺少实现文件、测试文件和发布记录,部分营销性或行为性声明只能由 README 支持。README、go.mod、LICENSE.md、SECURITY.md 和工作流在模块名、版权、维护渠道与依赖治理上相互吻合,但核心运行行为没有代码层交叉印证。文档明确标注默认值、条件、版本门槛、只读与执行差异,事实和条件总体区分良好;不过“官方”“完全匿名”“综合测试结果”等声明未附本次材料内的验证方法,因此未给满分。
- 服务器能够执行任意 MATLAB 代码和脚本;应在客户端启用逐次人工确认,并将可访问目录、MATLAB 账户权限及网络权限限制到任务所需范围。
- 遥测默认开启,但材料没有说明具体字段、保留期限或传输端点;处理敏感项目时应先使用 --disable-telemetry=true,并检查日志目录内容。
- extension-file 可引入自定义工具,Claude Desktop 还要求文件系统扩展;启用前应单独审查扩展定义并仅授权必要文件夹。
- MATLAB 执行可能修改文件、打开 GUI 或产生其他系统副作用,且没有通用回滚;对重要项目应使用版本控制、备份或隔离环境。
- 许可仅允许与 MathWorks 产品和服务结合使用,并限制共享或集中式多用户使用;部署前应核对适用的 MATLAB 许可条款。
- 本结论仅基于所给静态文件,未执行服务器、MATLAB、测试或依赖扫描。
这个 Agent 能做什么,适合哪些场景?
MATLAB MCP Server 是 MathWorks 提供的官方 MCP 服务器,用于把支持 Model Context Protocol 的 AI 应用连接到本机 MATLAB。它以独立二进制程序运行,通过标准输入输出接入 Claude Code、Claude Desktop、GitHub Copilot for Visual Studio Code 和 Codex。服务器可以启动或退出 MATLAB、执行代码字符串和 .m 文件、运行 MATLAB 单元测试,并对脚本进行只读静态分析。它还公开 MATLAB 编码规范和纯文本 Live Code 规范两项 MCP 资源,并允许通过 JSON 扩展文件定义自定义工具。执行边界位于用户机器及其 MATLAB 环境中,因此采用它需要安装受支持的 MATLAB,并审慎审核会实际运行代码的工具调用。
AI 应用先通过 stdio 启动 matlab-mcp-server,服务器随后按配置新建 MATLAB 会话,或在 R2023a 及以上版本中连接由 shareMATLABSession() 共享的现有会话。detect_matlab_toolboxes 返回 MATLAB 与已安装工具箱的版本信息;check_matlab_code 读取指定的 .m 文件并报告风格、潜在错误、弃用函数、性能和最佳实践问题,但不执行或修改文件。evaluate_matlab_code 在给定 project_path 下执行代码字符串,run_matlab_file 执行脚本,run_matlab_test_file 执行符合 MATLAB 测试框架约定的测试文件并返回完整测试结果。服务器还提供 guidelines://coding 和 guidelines://plain-text-live-code 资源,并能通过一个或多个 --extension-file JSON 文件加载自定义 MCP 工具。会话显示方式、启动目录、日志级别、遥测和 MATLAB 根目录均可通过 CLI 参数或 MW_MCP_SERVER_* 环境变量配置。
- 使用 Claude Code 或 Codex 开发 MATLAB 项目的工程师,希望让助手在项目目录中直接执行代码并查看输出。
- 维护大量 .m 文件的团队,需要在不运行脚本的情况下检查编码风格、潜在错误、弃用函数和性能问题。
- 采用 MATLAB 单元测试框架的开发者,希望由 AI 应用调用 run_matlab_test_file 并获取完整测试结果。
- 需要复用已打开 MATLAB 环境的 R2023a 及以上用户,可通过 shareMATLABSession() 和 existing 或 auto 会话模式连接。
- 希望让 AI 遵循 MATLAB 编码规范或生成可版本控制纯文本 Live Code 的团队,可使用服务器公开的指导资源。
- 有内部 MATLAB 工作流的团队,可用 extension-file JSON 定义额外 MCP 工具并加载多个扩展文件。
这个 Agent 有哪些优点和局限?
- 由 MathWorks 提供,工具范围直接覆盖 MATLAB 启停、代码执行、静态检查和单元测试。
- 采用 MCP 和本地 stdio 进程,明确支持 Claude Code、Claude Desktop、GitHub Copilot for VS Code 与 Codex。
- 支持 new、auto 和 existing 会话模式;R2023a 及以上可复用通过 shareMATLABSession() 暴露的现有 MATLAB。
- check_matlab_code 是明确的只读操作,可在不执行或修改脚本的情况下检查多类代码质量问题。
- 可通过多个 extension-file JSON 文件加入自定义工具,并同时提供两项 MATLAB 编码指导资源。
- 核心功能依赖本机 MATLAB R2021a 或更高版本,并受 MathWorks Software License Agreement 约束。
- 服务器不得由多名用户共享;共享或集中式部署需要联系 MathWorks,因此不适合作为未经许可的团队公共服务。
- 代码执行工具能在本机 MATLAB 中运行任意代码,文档要求人工审核重要工具调用。
- 匿名使用数据收集默认开启,需要显式设置 --disable-telemetry=true 才会关闭。
- Codex 在 Windows 上不会转发 MATLAB 和 Simulink 所需的 WINDIR,用户必须在 config.toml 中额外配置 env_vars = ["WINDIR"]。
- 仓库元数据将许可证标为 NOASSERTION;提供的材料仅说明 LICENSE.md 存在,未给出其具体许可证名称。
如何安装或部署这个 Agent?
前置条件:安装 MATLAB R2021a 或更高版本并加入系统 PATH;服务器支持过去五年的 MATLAB 版本。Windows 或 Linux 可从仓库的 Latest Release 下载二进制文件,也可安装 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
chmod +x ~/Downloads/matlab-mcp-servermacOS Intel:
curl -L -o ~/Downloads/matlab-mcp-server https://github.com/matlab/matlab-mcp-server/releases/latest/download/matlab-mcp-server-macos-x64
chmod +x ~/Downloads/matlab-mcp-serverClaude Code:
claude mcp add --transport stdio matlab -- /fullpath/to/matlab-mcp-server-binaryCodex:
codex mcp add matlab -- /fullpath/to/matlab-mcp-server-binaryClaude Desktop 需要先安装并启用 Anthropic Filesystem 扩展、授权可访问目录,再从 Latest Release 下载 matlab-mcp-server.mcpb,双击并在 Claude Desktop 中安装。GitHub Copilot for VS Code 则需创建 .vscode/mcp.json,将 matlab 服务器的 type 设为 stdio,并把 command 指向下载的二进制文件。
如何使用这个 Agent?
完成 MCP 配置后,在客户端中调用 detect_matlab_toolboxes 可验证 MATLAB 与工具箱是否可见。分析脚本时调用 check_matlab_code,并传入 .m 文件的绝对 script_path;执行代码字符串时调用 evaluate_matlab_code,同时提供 code 和项目目录的绝对 project_path。执行脚本或测试分别调用 run_matlab_file 或 run_matlab_test_file,并提供绝对 script_path。默认情况下 MATLAB 会在首次工具调用时启动;如需服务器启动时立即初始化,可添加 --initialize-matlab-on-startup=true。若希望连接现有 MATLAB,首次运行 ./matlab-mcp-server --setup-matlab 安装 MATLAB MCP Server Toolbox,然后在目标 MATLAB 会话执行 shareMATLABSession(),并以 --matlab-session-mode=existing 或 auto 启动服务器。可用 --initial-working-folder、--matlab-display-mode、--matlab-root、--log-level 和 --disable-telemetry=true 调整行为;CLI 参数优先于对应的 MW_MCP_SERVER_* 环境变量。
这个 Agent 与同类方案有什么区别?
与通过 MATLAB Agentic Toolkit 或 Simulink Agentic Toolkit 辅助代理使用 MATLAB/Simulink 相比,本仓库是底层官方 MCP 服务器;这两个 Toolkit 可协助安装该服务器并提供相关技能。服务器既可启动新的 MATLAB,也可在 R2023a 及以上连接已共享的现有会话。