matlab/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.
What it is
MATLAB MCP Server 是一个基于 Go 的轻量级服务,允许 AI 驱动的工具(Claude、GitHub Copilot、Codex 等)启动 MATLAB、运行代码并查询环境信息。它实现了 Model Context Protocol (MCP),这是 AI 模型调用外部“工具”的标准方式。
Why it matters
许多现代 AI 助手希望执行真实的科学或工程代码。MATLAB 是数值计算、信号处理、控制系统和仿真的主流平台。通过将 MATLAB 暴露为 MCP 服务器,开发人员可以直接在 LLM 驱动的工作流中嵌入 MATLAB 功能——例如,一个可以:
- 按需启动 MATLAB,
- 运行用户要求的脚本,
- 检查脚本的风格或错误,以及
- 将结果返回到聊天中的聊天机器人。 这弥补了大型语言模型与成熟的专用工程环境之间的鸿沟。
Core features (as described in the README)
| Feature | What it does |
|---|---|
| Start / quit MATLAB | 服务器可以启动一个新的 MATLAB 会话或附加到现有会话(通过 --matlab-session-mode)。 |
| Run arbitrary MATLAB code | evaluate_matlab_code 评估代码字符串;run_matlab_file 执行 .m 脚本;run_matlab_test_file 运行 MATLAB 单元测试文件。 |
| Static analysis | check_matlab_code 执行只读的 lint 风格检查,报告风格、弃用函数、性能提示等。 |
| Tool discovery | detect_matlab_toolboxes 报告已安装的工具箱及其版本。 |
| Resources | 提供编码指南文档(例如 MATLAB 编码标准)作为 MCP 资源,供 AI 读取以生成更好的代码。 |
| Custom extensions | 用户可以提供定义附加 MCP 工具的 JSON 文件 (--extension-file)。 |
| Configurable startup | 提供初始工作文件夹、显示模式 (desktop vs nodesktop)、日志位置/级别以及遥测控制的选项。 |
| Cross‑platform binaries | 为 Windows、Linux、macOS (Intel & Apple‑silicon) 提供预构建的二进制文件,以及用于从源码构建的 go install 命令。 |
Who would use it
- AI 助手开发人员:希望为 Claude、Copilot 或其他基于 LLM 的产品添加 MATLAB 功能的开发人员。
- 研究人员:正在构建需要在 MATLAB 中运行仿真或数据分析流水线的自主代理的研究人员。
- 团队:已经拥有 MATLAB 许可证,并希望在不编写自定义封装的情况下以编程方式公开其功能的团队。
How to get started (quick‑start)
- 安装 MATLAB R2021a 或更高版本,并确保
matlab在您的系统PATH中。 - 下载适用于您操作系统的相应二进制文件(或使用
go install …进行构建)。 - 在您的 AI 工具中注册服务器:
- Claude Code –
claude mcp add --transport stdio matlab -- /path/to/matlab-mcp-server - Claude Desktop – 安装提供的
.mcpb包。 - VS Code (Copilot) – 在
.vscode/mcp.json中添加指向二进制文件的matlab条目。 - Codex –
codex mcp add matlab -- /path/to/matlab-mcp-server。
- Claude Code –
- (可选)传递诸如
--initial-working-folder或--matlab-display-mode=nodesktop之类的参数来定制行为。 - 从您的 AI 驱动工作流中使用公开的工具(
run_matlab_file、check_matlab_code等)。
Limitations & considerations
- 许可证限制 – 服务器只能在有效的 MathWorks 许可证下使用,不用于多用户共享。
- 遥测 – 默认情况下,匿名使用数据会发送给 MathWorks;可以通过
--disable-telemetry=true禁用。 - 图形命令 – 即使在
nodesktop模式下,打开 GUI 窗口的命令(例如uifigure)仍会在主机上弹出。 - 现有会话模式 需要一个已执行
shareMATLABSession()的正在运行的 MATLAB 实例。
以上所有信息直接取自仓库的 README。
相关
- 项目
- 项目
- 项目
- 项目
- 项目