/ 目录 / 演练场 / MATLAB
● 官方 matlab 🔑 需要你的密钥

MATLAB

作者 matlab · matlab/matlab-mcp-core-server

用你的 AI agent 运行 MATLAB 代码、测试和工具箱——官方 MathWorks MCP。

MathWorks 官方的 MATLAB MCP。能让 agent 执行 MATLAB 表达式、运行 .m 脚本文件、执行单元测试、检测已安装的工具箱。在 LLM 推理和 MATLAB 中的数值/仿真工作负载之间搭建桥梁。

为什么要用

核心特性

实时演示

实际使用效果

matlab.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "matlab": {
      "command": "uvx",
      "args": [
        "matlab-mcp-core-server"
      ]
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "matlab": {
      "command": "uvx",
      "args": [
        "matlab-mcp-core-server"
      ]
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "matlab": {
      "command": "uvx",
      "args": [
        "matlab-mcp-core-server"
      ]
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "matlab": {
      "command": "uvx",
      "args": [
        "matlab-mcp-core-server"
      ]
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "matlab",
      "command": "uvx",
      "args": [
        "matlab-mcp-core-server"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "matlab": {
      "command": {
        "path": "uvx",
        "args": [
          "matlab-mcp-core-server"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add matlab -- uvx matlab-mcp-core-server

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: MATLAB

生成、分析并运行 MATLAB 脚本

👤 工程研究人员、控制系统/DSP 工程师 ⏱ ~20 min intermediate

何时使用: 你想在 MATLAB 中以对话方式原型化计算——生成、运行、调优、重复。

前置条件
  • MATLAB R2020b+ 已安装并在 PATH 中 — 从终端运行 matlab -help 应该能成功
  • MATLAB 注册为个人自动化服务器 — 在 MATLAB 中运行一次 matlab.engine.shareEngine ——参见 MCP README
步骤
  1. 检查功能
    检测已安装的 MATLAB 工具箱。我需要信号处理和控制系统工具箱。✓ 已复制
    → 包含版本号的列表;agent 知道可以使用什么
  2. 生成脚本
    编写一个 MATLAB 脚本,加载 signal.mat,应用 50Hz 的 Butterworth 低通滤波器,绘制前后对比。保存为 ./lp_filter.m。✓ 已复制
    → .m 文件已写入
  3. 检查后运行
    对 lp_filter.m 运行 check_matlab_code。修复任何问题。然后运行 run_matlab_file 并返回图表路径。✓ 已复制
    → 静态检查通过、脚本运行成功、输出图表已保存

结果: 在不切换窗口的情况下,在几分钟内得到可用的 MATLAB 原型。

注意事项
  • 相对路径会失效——MATLAB 在自己的工作目录中启动 — 在 script_path 和脚本内部始终使用绝对路径;或在第一行 cd 到你的目录
  • 在非交互模式下脚本在 uiopen/plot 窗口处挂起 — 使用 figure('Visible','off') 和 saveas() 保存到文件,而不是显示
搭配使用: filesystem

运行 MATLAB 单元测试并迭代修复失败

👤 维护 MATLAB 代码库的工程师 ⏱ ~20 min intermediate

何时使用: 你有一个测试套件(matlab.unittest),想让 agent 运行它并帮助修复回归。

前置条件
  • 使用 matlab.unittest 的测试文件 — 继承自 matlab.unittest.TestCase 的类
步骤
  1. 运行测试套件
    运行 ./tests/MyAlgorithmTest.m 中的测试。返回每个方法的通过/失败状态以及任何错误文本。✓ 已复制
    → 结构化的测试报告
  2. 诊断
    对于每个失败,读一下断言、读一下实现、解释差异。✓ 已复制
    → 每个失败的根本原因
  3. 修复并重新运行
    对实现代码(不是测试)应用最小修复。重新运行直到全部通过。✓ 已复制
    → 所有测试通过

结果: 由 agent 驱动的 MATLAB 代码 TDD 循环。

注意事项
  • 测试依赖于不在 MATLAB 路径上的文件 — 在测试开始时添加 addpath(genpath(pwd)),或显式传递 project_path

组合

与其他 MCP 搭配,撬动十倍杠杆

matlab + filesystem

读取数据文件 → 运行 MATLAB 计算 → 保存结果文件

读取 ./data/*.csv,编写一个 MATLAB 脚本处理每个文件,将输出保存到 ./processed/。运行并确认。✓ 已复制
matlab + git

对 agent 生成的脚本进行版本控制

生成 MATLAB 分析脚本,运行它,验证结果看起来不错,然后用描述性消息提交脚本。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
detect_matlab_toolboxes 第一步——了解你可以使用什么 free
check_matlab_code script_path (absolute) 运行前检查——快速捕获明显问题 free
evaluate_matlab_code code: str, project_path (absolute) 一次性表达式或内联代码 free
run_matlab_file script_path (absolute) 执行已保存的 .m 文件 free
run_matlab_test_file script_path (absolute) 结构化的测试执行 free

成本与限制

运行它的成本

API 配额
无——本地 MATLAB 执行
每次调用 Token 数
脚本输出可能很大(图表、表格)。限制返回的数据。
费用
需要 MATLAB 许可证(不免费);MCP 本身免费
提示
让 agent 将图表写入文件,而不是在响应中返回大的数值矩阵

安全

权限、密钥、影响范围

凭据存储: 无——本地执行
数据出站: 无——MATLAB 在本地运行

故障排查

常见错误与修复

首次调用时'未找到 MATLAB 引擎'

将 MATLAB 注册为个人自动化服务器:在 MATLAB 中运行 matlab.engine.shareEngine。之后重启 MCP。

验证: 从终端运行:`python -c 'import matlab.engine; matlab.engine.find_matlab()'` ——应该列出引擎
脚本错误:'未定义函数'

该函数在未安装的工具箱中,或不在 MATLAB 路径上。运行 detect_matlab_toolboxes 并确认。

check_matlab_code 没有报告任何问题,但运行时失败

mlint 捕获语法而非语义。使用 evaluate_matlab_code 和小测试输入来验证逻辑。

长时间运行的脚本超时

MCP 客户端有单次调用超时。将脚本分成多个阶段,将中间结果保存到磁盘;逐阶段运行。

替代方案

MATLAB 对比其他方案

替代方案何时用它替代权衡
通过 shell MCP 使用 Octave你没有 MATLAB 许可证且需要开源替代品核心语法兼容,但工具箱经常有显著差异
通过 Python-exec MCP 使用 Python(numpy/scipy)你愿意转换工作流免费、生态庞大,但你要放弃 MATLAB 特定的工具箱(Simulink 等)

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills