Claude Code + MATLAB MCP:让AI替你搭建Simulink模型
MATLAB MCP与Claude Code实现Simulink自动化建模 本文介绍了如何通过Claude Code结合MATLAB MCP协议实现Simulink模型的自动化搭建与仿真。主要内容包括: MCP协议:作为AI与MATLAB/Simulink的桥梁,支持自然语言指令直接转换为建模操作 配置指南:详细说明了MATLAB MCP服务器的安装步骤和Claude Code集成方法 核心功能:
Claude Code + MATLAB MCP:让AI替你搭建Simulink模型
工具推荐 | 官方MCP服务器 + Simulink API,实现自动化建模与仿真
你还在手动一个个拖拽Simulink模块吗?
MathWorks刚刚发布的官方MCP服务器,让Claude Code可以直接操控MATLAB/Simulink——用自然语言描述需求,AI帮你把模型搭好、仿真跑起来。
一、MCP是什么?为什么是Claude + MATLAB?
MCP(Model Context Protocol)
MCP 是 Anthropic 推出的模型上下文协议,类似于AI工具的"USB接口"——让不同的AI应用能够连接外部工具和数据源。
┌─────────────┐ MCP ┌─────────────────┐
│ Claude Code │ ═══════════════════▶ │ MATLAB/Simulink │
│ (AI大脑) │ │ (执行引擎) │
└─────────────┘ └─────────────────┘
为什么是Claude Code + MATLAB?
| 方案 | 优点 | 缺点 |
|---|---|---|
| ChatGPT + MATLAB | 通用对话 | 需要手动复制代码 |
| Claude Code + MCP | AI直接调用MATLAB API | 需要配置 |
| 直接写MATLAB脚本 | 精确控制 | 效率低、门槛高 |
Claude Code + MATLAB MCP = AI原生自动化:你描述需求,AI调用Simulink API直接完成建模。
二、官方MATLAB MCP Core Server来了
MathWorks于2026年4月发布了官方 matlab-mcp-core-server,支持Claude Code、Claude Desktop、GitHub Copilot。
核心工具一览
| 工具名称 | 功能 | 使用场景 |
|---|---|---|
detect_matlab_toolboxes |
检测已安装的工具箱 | 环境检查 |
check_matlab_code |
静态代码分析 | 代码审查 |
evaluate_matlab_code |
执行代码字符串 | 动态计算 |
run_matlab_file |
执行.m脚本文件 | 批量任务 |
run_matlab_test_file |
运行单元测试 | 质量验证 |
三、5分钟配置指南
第一步:安装MATLAB MCP服务器
下载对应平台的可执行文件:
# Windows/Linux (Go安装)
go install github.com/matlab/matlab-mcp-core-server/cmd/matlab-mcp-core-server@latest
# macOS Apple Silicon
curl -L -o ~/Downloads/matlab-mcp-core-server \
https://github.com/matlab/matlab-mcp-core-server/releases/latest/download/matlab-mcp-core-server-maca64
chmod +x ~/Downloads/matlab-mcp-core-server
第二步:添加到Claude Code
# 添加MATLAB MCP服务器
claude mcp add --transport stdio matlab -- /full/path/to/matlab-mcp-core-server
# 验证是否成功
claude mcp list
第三步:配置启动参数(可选)
# 指定MATLAB路径、启动时初始化、不显示桌面
claude mcp add --transport stdio matlab -- \
/full/path/to/matlab-mcp-core-server \
--matlab-root=/Applications/MATLAB_R2025b.app \
--initialize-matlab-on-startup=true \
--matlab-display-mode=nodesktop
四、核心技能:Simulink API自动化建模
4.1 新建并保存模型
% 创建新模型
h = new_system('myModel');
% 打开模型
open_system(h);
% 添加模块 - 查Simulink API找对应命令
add_block('simulink/Sources/Constant', 'myModel/MyConstant');
add_block('simulink/Math Operations/Gain', 'myModel/MyGain');
add_block('simulink/Sinks/Scope', 'myModel/MyScope');
% 连接模块
add_line('myModel', 'MyConstant/1', 'MyGain/1');
add_line('myModel', 'MyGain/1', 'MyScope/1');
% 保存模型
save_system('myModel', 'myModel.slx');
4.2 批量查找并修改模块
function setBlocks(sys)
% 查找所有输入端口
blk = find_system(sys, 'BlockType', 'Inport');
% 批量修改数据类型
for n = 1:length(blk)
set_param(blk{n}, 'OutDataTypeStr', 'int16');
end
end
4.3 自动化仿真运行
% 加载模型
modelName = 'myModel';
load_system(modelName);
% 设置仿真参数
set_param(modelName, 'StopTime', '10', ...
'Solver', 'ode45', ...
'MaxStep', '0.01');
% 运行仿真
sim(modelName);
% 导出结果
simout = get_param([modelName '/MyScope'], 'PortData');
4.4 高级:批量参数扫描
% 参数扫描示例:Gain从0.1到2.0
gainValues = 0.1:0.1:2.0;
results = [];
for g = gainValues
set_param('myModel/MyGain', 'Gain', num2str(g));
sim('myModel');
results = [results; g, simout.Data(end)];
end
% 绘制参数扫描曲线
plot(results(:,1), results(:,2));
xlabel('Gain Value');
ylabel('Output');
五、实战案例:Claude Code自动化建模
场景描述
“帮我创建一个电池热管理系统的Simulink模型,包含电池、散热器、温度传感器和控制器。”
Claude Code执行流程
用户: 帮我创建电池热管理模型
Claude: 调用 MCP 工具 evaluate_matlab_code 执行:
h = new_system('BatteryThermal');
open_system(h);
% 添加组件
add_block('simscape/Battery/Thermal/ Battery+Thermal', ...
'BatteryThermal/Battery');
add_block('simscape/Battery/Thermal/Thermal Reference', ...
'BatteryThermal/ThermalRef');
add_block('simscape/Foundation/Thermal/Thermal Elements/Heat Plate', ...
'BatteryThermal/Heatsink');
add_block('simscape/Foundation/Thermal/Thermal Sensors/Temperature Sensor', ...
'BatteryThermal/TempSensor');
% 设置参数
set_param('BatteryThermal/Battery', 'Capacity', '3600', ...
'NominalVoltage', '3.7');
save_system('BatteryThermal', 'BatteryThermal.slx');
成功创建模型: BatteryThermal.slx
六、与SimuAgent的对比
| 维度 | SimuAgent | Claude Code + MATLAB MCP |
|---|---|---|
| 定位 | 专用Simscape建模Agent | 通用MATLAB/Simulink控制 |
| 实现方式 | LLM + 自定义工具链 | MCP协议 + Simulink API |
| 灵活性 | 专用优化 | 开放API,全功能覆盖 |
| 上手难度 | 需要训练模型 | 5分钟配置即可 |
| 适用场景 | Simscape建模 | 任意MATLAB/Simulink任务 |
结论:如果你需要快速落地,Claude Code + MATLAB MCP是更务实的选择;如果你追求极致自动化,可以研究SimuAgent的架构思路。
七、避坑指南
❌ 常见错误
% 错误1: MATLAB路径未添加到系统PATH
% 解决: 确保matlab命令在命令行可用
% 错误2: 模型未保存就操作
% 解决: 先 open_system() 再进行修改
% 错误3: 端口名称写错
% 解决: 用 get_param(b, 'Ports') 查看可用端口
% 错误4: 仿真时间设置不当
% 解决: 根据实际物理特性设置 StopTime 和 MaxStep
✅ 最佳实践
- 先验证后执行:用
check_matlab_code做静态检查 - 保存中间状态:复杂任务分段保存模型
- 日志记录:关键操作输出日志便于回溯
- 单元测试:为复用函数编写测试用例
八、快速开始清单
□ 1. 下载 matlab-mcp-core-server
□ 2. 确保 MATLAB 已安装并添加到 PATH
□ 3. 执行 claude mcp add 添加服务器
□ 4. 用 claude mcp list 验证配置
□ 5. 开始你的第一次自动化建模!
📚 资源链接
写在最后
Claude Code + MATLAB MCP不是要取代工程师,而是让你从繁琐的重复劳动中解放出来——把精力放在系统设计和创新上,让AI来处理那些"搬砖"任务。
下一个目标:用自然语言描述你的需求,AI帮你把整套仿真流程跑通。
往期推荐:
关注公众号,后台回复「MATLAB MCP」获取完整配置脚本。
更多推荐



所有评论(0)