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

✅ 最佳实践

  1. 先验证后执行:用 check_matlab_code 做静态检查
  2. 保存中间状态:复杂任务分段保存模型
  3. 日志记录:关键操作输出日志便于回溯
  4. 单元测试:为复用函数编写测试用例

八、快速开始清单

□ 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」获取完整配置脚本。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐