)
一、你将得到什么配置完成后Cursor 中的 AI 可以通过 MCP 调用约14 个结构化工具完成例如加载 / 关闭 / 保存.slx模型列举模块、读写参数、添加与删除模块、连线读取与设置求解器与模型配置运行仿真并返回图像或数据MATLAB 采用懒启动MCP 握手很快第一次真正调用工具时才会启动 MATLAB 引擎冷启动常需约 1520 秒属正常现象。在配置好这个mcp之后你不需要在Simulink里面频繁拖拽、设置只需要用自然语言和ai说你要建一个什么样的模型什么样的回路出来ai会用最快的速度帮你直接画好。二、环境与版本最容易踩坑的一条链整条链路要同时满足三件事MATLAB Engine for Python支持你选的Python 小版本由MATLAB 发行版决定。官方 Python 包mcpmcp[cli]1.2.0要求Python ≥ 3.10。simulink-mcp依赖上述mcp因此实际跑 MCP 的解释器必须是 3.10且与装 Engine 的为同一个。典型冲突真实案例旧版 MATLAB例如R2022a自带的 Enginesetup.py仅声明支持 Python 2.7 / 3.7 / 3.8 / 3.9在Python 3.10上执行pip install .会直接报版本不支持。若坚持用Python 3.9装 Engine则mcp1.2.0无法安装PyPI 上该包要求 Python ≥ 3.10。结论要使用当前主线simulink-mcp一般需要较新的 MATLAB官方 README 多针对 R2024a/R2024b 一类环境测试Python 3.10 或 3.11具体以 MathWorks 对「MATLAB Engine for Python」的文档为准并避免使用尚未被 Engine 支持的过新版本如部分环境下的 Python 3.13。三、确认 MATLAB 根目录已能打开 MATLAB 时在命令行执行matlabroot记下输出路径例如F:\MATLAB2024。Engine 源码目录为matlabroot\extern\engines\python该目录下应有setup.py。在资源管理器中打开该路径便于后续在 PowerShell 里cd过去。四、安装 MATLAB Engine for Python4.1 选定「唯一」的 Python 解释器后面Cursor MCP 的command、pip install、import matlab.engine自检必须指向同一个python.exe建议始终使用绝对路径避免混用PATH里多个python。4.2 推荐在 Engine 目录内执行setup.py install在PowerShell中注意调用带路径的可执行文件时前面要加cd matlabroot\extern\engines\python C:\Path\To\Python310\python.exe setup.py install为何不用简单的pip install .pip有时会把源码复制到临时目录再构建在部分环境下会触发「安装损坏」等误报。在extern\engines\python源码目录下直接setup.py install往往更稳定。4.3 验证 Engine C:\Path\To\Python310\python.exe -c import matlab.engine; print(OK)应输出OK。五、安装 simulink-mcp5.1 PyPI 包名说明文档或旧笔记里可能出现pip install simulink-mcp但PyPI 上未必存在同名包或与你期望的仓库不一致。可靠方式是从GitHub 克隆后本地安装也可以直接到github上面整个压缩包下载下来GitHub - sohumsuthar/simulink-mcp: MCP server for MATLAB Simulink — let LLMs take control of and understand Simulink. · GitHubcd C:\Path\To\simulink-mcp5.2 PowerShell 调用 pip 的语法 C:\Path\To\Python310\python.exe -m pip install .5.3 依赖构建与mcp建议分步安装先升级构建链并安装mcp[cli]需能访问 PyPI若在国内可换镜像但镜像未同步时会出现「找不到包」Remove-Item Env:HTTP_PROXY,Env:HTTPS_PROXY,Env:ALL_PROXY,Env:http_proxy,Env:https_proxy,Env:all_proxy -ErrorAction SilentlyContinue cd C:\Path\To\simulink-mcp C:\Path\To\Python310\python.exe -m pip install --upgrade pip setuptools wheel hatchling mcp[cli]1.2.0 --index-url https://pypi.org/simple --trusted-host pypi.org --trusted-host files.pythonhosted.org再安装本项目--no-build-isolation可减少子进程重复拉取hatchling的失败概率 C:\Path\To\Python310\python.exe -m pip install . --no-build-isolation --index-url https://pypi.org/simple --trusted-host pypi.org --trusted-host files.pythonhosted.org5.4 网络与代理问题真实踩坑若出现ProxyError(Cannot connect to proxy., FileNotFoundError(...))可能与VPN / 系统代理 / 环境变量HTTP_PROXY/HTTPS_PROXY有关关闭 VPN后在新开 PowerShell 中重试。清除当前会话代理变量见上节Remove-Item Env:...。检查netsh winhttp show proxy必要时netsh winhttp reset proxy。检查pip config list是否配置了无效proxy。若出现SSLError/ 清华镜像拉不到hatchling可临时改用官方 PyPI并配合--trusted-host见上节命令。5.5 与「全家桶」装在同一 Python 里的提示若该 Python 里还装有TensorFlow、Streamlit等pip可能提示依赖版本冲突。对simulink-mcp来说多数情况下仍能运行若其它项目异常建议日后为 MCP单独建 venv。六、在 Cursor 中配置 MCP6.1 工作目录环境变量变量名含义SIMULINK_MCP_WORKDIRMATLAB 引擎启动后cd的工作目录影响相对路径加载与保存位置。建议设为专门存放.slx的文件夹例如F:/SimulinkModelsJSON 中可用正斜杠或转义反斜杠。6.2 用户级mcp.json示例路径一般为%USERPROFILE%\.cursor\mcp.json。{ mcpServers: { simulink: { command: C:/Users/你的用户名/AppData/Local/Programs/Python/Python310/python.exe, args: [-m, simulink_mcp], env: { SIMULINK_MCP_WORKDIR: F:/SimulinkModels } } } }要点command务必使用与安装 Engine、simulink-mcp时相同的python.exe绝对路径。每个 MCP 服务器独立进程只改simulink的command不会自动改变其它 MCP例如仍写python跑脚本的服务。修改后完全重启 Cursor 或重载窗口再在Settings → MCP中确认simulink为绿色、工具数量与文档一致例如14 tools。七、自检清单检查项操作Python 小版本python -V且与 Engine /mcp要求一致Enginepython -c import matlab.engine; print(OK)simulink-mcppip show simulink-mcpMCP 解释器一致mcp.json中command与上面为同一python.exe工作目录已设置SIMULINK_MCP_WORKDIR且文件夹存在许可非商业用途符合 PolyForm NC八、首次使用与排错提示第一次工具调用再启动 MATLAB请耐心等待。若 MCP 报错看 CursorMCP 日志任务管理器确认是否有MATLAB进程。上游 README 提到无效 Simulink 操作可能导致会话崩溃可重启 MCP。部分版本对PID 等带 mask 的模块有初始化要求需按上游说明设置饱和与初值等参数。九、测试示例前置确认Cursor → MCP里simulink已开启SIMULINK_MCP_WORKDIR下有.slx或下面语句里改成你的绝对路径。在Agent 模式且本对话已启用 Simulink MCP 工具的窗口中将下面三段整段复制到输入框发送可按顺序 ①→②→③ 执行② 会新建模型不必先有文件。① 看有什么模块并说明它们的关系请使用 Simulink MCP加载 F:/SimulinkModels/1.slx若不存在则加载我工作目录里任意一个 .slx路径可改为我的实际文件。然后列出该模型在 search_depth2 下的所有模块。最后用文字说明每个模块在信号流里扮演什么角色、参考输入/误差/控制量/被控输出之间是如何连成的负反馈回路按你看到的连线逻辑描述即可。预期效果返回模块路径列表 一段信号流 / 反馈关系的文字说明。② 用基础模块搭一个 PID 控制器禁止使用 PID Controller 现成模块请使用 Simulink MCP新建并保存一个模型 demo_pid_blocks保存到 SIMULINK_MCP_WORKDIR 下文件名 demo_pid_blocks.slx。要求绝对不要使用库里的「PID Controller」模块。请用基础库模块搭建并行形式 PID误差 er-y 用一个 Sum-P 支路为 GainI 支路为 Gain IntegratorD 支路为 Derivative Gain三条支路输出用另一个 Sum合成控制量 u。被控对象用 Transfer Fcn分子 [1]、分母 [1 1]。参考输入用 Step0 时刻阶跃到 1。输出用 Scope 观测被控量并简述各模块名与参数。预期效果得到新模型demo_pid_blocks.slx结构为Step → 误差和 → P/I/D 三条支路 → 控制和 → 对象 → 反馈到误差和全程无PID Controller模块。有时候AI搭出来的这些模块是叠在一起的没有很好的排版这个时候可以选中用Simulink自带的排版功能也可以跟ai说重新排一遍格式让模型好理解一点③ 搭一个简单闭环回路并仿真看图请使用 Simulink MCP加载刚才的demo_pid_blocks.slx。确认模型里已有单位负反馈参考、误差、控制器、对象、Scope。然后调用 simulatemodel_name 为 demo_pid_blocksstop_time 为 20return_figures 为 true。仿真结束后把返回的曲线图展示出来并用一两句话描述被控量从阶跃响应看是否收敛、有无明显振荡。预期效果对话中出现simulate返回的 PNG 曲线来自 Scope 等若报错「找不到模型」请先执行②或把路径改成你本机.slx的实际位置。提示第一次调用 MCP 工具时 MATLAB 可能冷启动 1520 秒若只有文字没有图检查模型里是否接了Scope且return_figures为true。