惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Forbes - Security
Forbes - Security
WordPress大学
WordPress大学
P
Proofpoint News Feed
T
Threat Research - Cisco Blogs
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
Spread Privacy
Spread Privacy
D
Darknet – Hacking Tools, Hacker News & Cyber Security
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
P
Privacy International News Feed
A
About on SuperTechFans
T
Tailwind CSS Blog
I
InfoQ
S
Securelist
云风的 BLOG
云风的 BLOG
罗磊的独立博客
Recent Announcements
Recent Announcements
T
The Exploit Database - CXSecurity.com
B
Blog RSS Feed
V
Visual Studio Blog
Know Your Adversary
Know Your Adversary
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
腾讯CDC
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
博客园 - 【当耐特】
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
F
Full Disclosure
S
Secure Thoughts
博客园 - 司徒正美
J
Java Code Geeks
Y
Y Combinator Blog
Google Online Security Blog
Google Online Security Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
Help Net Security
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Project Zero
Project Zero
T
Tenable Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Tor Project blog
MyScale Blog
MyScale Blog
Scott Helme
Scott Helme
小众软件
小众软件
K
Kaspersky official blog

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12) Snack JSONPath 项目架构分析 Claude Code Buddy 小析:一个非核心功能,如何体现产品的细节完成度 AI新时代下的图床管理方案-Cloudflare图床+MCP+Skills方案指南 化繁为简:顺丰速运App如何通过 HarmonyOS SDK实现专业级空间测量 从零实现富文本编辑器#13-React非编辑节点的内容渲染 AI开发-python-langchain框架(3-23-OpenAI Functions风格Tool Calling智能助手) .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut PbootCMS 网站内容数量多导致访问慢?这些实用优化方案帮你提速! - 家兴网络技术工作室 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 网站漏洞怎么发现并修复?一篇实用指南(附完整流程) - 家兴网络技术工作室 开了 TUN 模式还是直连?90% 的人都踩过这个坑 Github日报|2026年04月12日 - AI一族 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术 Etsy 把 1000 个 MySQL 分片迁进 Vitess:425TB 数据背后的真正问题不是性能,而是运维规模 MicroPython LVGL基础知识和概念:底层渲染与性能优化 - FreakStudio 数据库草图算法 Python 潮流周刊#146:CPython 引入 Rust 的进展 - 豌豆花下猫 最小生成树 - mofei1116 红日靶场七:从外网入口、容器逃逸到 AD 接管的完整利用链复盘 - YouDiscovered1t 分享四款开源且实用的 Kafka 管理工具 - 追逐时光者 vLLM 权重加载机制全解析:从挑战到理想架构 LCT 学习笔记 - ACehomoxue Avalonia UI 12.0.0 正式发布:架构演进和性能飞跃 - 张善友 当 AI Agent 把调用链拉长,延迟开始成为一门生意 conhost.exe 无法显示 U+2717 - 145a 太秀了,我把自己蒸馏成了 Skill!已开源 - 程序员鱼皮 ASP.NET Core 内存缓存实战:一篇搞懂该怎么配、怎么避坑 基于 Ghostty 带有分割标签页和为 Claude 编程设计的通知终端 - BugShare AI 焊死入口:教育的“操作系统级”重塑 - 郝hai 初级Java开发工程师使用sql脚本编写代码的过程是简单而且不糊涂 - CoderOilStation Claude Code通关手册(六):MCP协议完全指南 - 暮色之狐 边框灯光环绕动画特效实现指南 - Newbe36524 开源:子木蒸馏版的 SEO 审计工具 seo-audit-skill v1.0 我所理解的Python元模型 【从0到1构建一个ClaudeAgent】规划与协调-TodoWrite - 程序员Seven Claude 和 Codex 在审计 Skill 上性能差异探究 - ACai_sec AScript如何实现中文脚本引擎 - rockey627 【渗透测试】HTB Season10 Garfield 全过程wp - dynasty_chenzi Android 开发者为什么必须掌握 AI 能力?端侧视角下的技术变革 树状数组正确性证明 - AC-wyr 你的 AI 焦虑,可能比 AI 本身更危险——ATM 机没有消灭银行柜员,但恐慌消灭了你的判断力 - 我没有三颗心脏 一个拉胯的分库分表方案有多绝望?整个部门都在救火! - 冰河团队 动态规划入门必学之走方格问题 - Ofnoname PostgREST 与 PostgreSQL 角色权限配置全解析(生产级实践) - SheepDog1998 使用 UEFI 图形输出协议 GOP 在屏幕上显示图像的方法 - 阿源- Claude Code通关手册(五):组建你的AI专家团队,子代理系统 - 暮色之狐 一个程序员到架构师的催婚路之感悟(整整10年后的催婚相亲感悟) - MisterLip 用 Agent Skill 自动生成工作周报 - 赵康
自动化天塌了?AI 替你画 Simulink!Agent——MCP 配置踩坑指南(附真实环境实测)
TTGF · 2026-05-06 · via 博客园_首页

前言

本文整理自一次真实的 Windows 环境配置过程,面向已安装 MATLAB / SimulinkPython,希望在 Cursor或者其他Agent 里通过 Model Context Protocol (MCP) 让 AI 直接操作 Simulink 模型的读者。
上游开源项目:sohumsuthar/simulink-mcp(许可证:PolyForm Noncommercial 1.0.0,商业用途请自行评估)。


一、你将得到什么

配置完成后,Cursor 中的 AI 可以通过 MCP 调用约 14 个结构化工具,完成例如:

  • 加载 / 关闭 / 保存 .slx 模型
  • 列举模块、读写参数、添加与删除模块、连线
  • 读取与设置求解器与模型配置
  • 运行仿真并返回图像或数据

MATLAB 采用懒启动:MCP 握手很快,第一次真正调用工具时才会启动 MATLAB 引擎,冷启动常需 约 15~20 秒,属正常现象。

在配置好这个mcp之后,你不需要在Simulink里面频繁拖拽、设置,只需要用自然语言和ai说你要建一个什么样的模型什么样的回路出来,ai会用最快的速度帮你直接画好。


二、环境与版本:最容易踩坑的一条链

整条链路要同时满足三件事:

  1. MATLAB Engine for Python 支持你选的 Python 小版本(由 MATLAB 发行版决定)。
  2. 官方 Python 包 mcpmcp[cli]>=1.2.0 要求 Python ≥ 3.10
  3. simulink-mcp 依赖上述 mcp,因此 实际跑 MCP 的解释器必须是 3.10+,且与装 Engine 的为同一个

典型冲突(真实案例)

  • 旧版 MATLAB(例如 R2022a)自带的 Engine setup.py 仅声明支持 Python 2.7 / 3.7 / 3.8 / 3.9,在 Python 3.10 上执行 pip install . 会直接报版本不支持。
  • 若坚持用 Python 3.9 装 Engine,则 mcp>=1.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 Python

4.1 选定「唯一」的 Python 解释器

后面 Cursor MCP 的 commandpip installimport 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


5.1 PyPI 包名说明

文档或旧笔记里可能出现 pip install simulink-mcp,但 PyPI 上未必存在同名包(或与你期望的仓库不一致)。可靠方式是从 GitHub 克隆后本地安装:
也可以直接到github上面整个压缩包下载下来:https://github.com/sohumsuthar/simulink-mcp

在这里插入图片描述

cd C:\Path\To\simulink-mcp

5.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.org

5.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 中配置 MCP

6.1 工作目录环境变量

变量名 含义
SIMULINK_MCP_WORKDIR MATLAB 引擎启动后 cd 的工作目录;影响相对路径加载与保存位置。

建议设为专门存放 .slx 的文件夹,例如 F:/SimulinkModels(JSON 中可用正斜杠或转义反斜杠)。

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 服务器独立进程;只改 simulinkcommand 不会自动改变其它 MCP(例如仍写 python 跑脚本的服务)。
  • 修改后 完全重启 Cursor 或重载窗口,再在 Settings → MCP 中确认 simulink 为绿色、工具数量与文档一致(例如 14 tools)。
    在这里插入图片描述

七、自检清单

检查项 操作
Python 小版本 python -V,且与 Engine / mcp 要求一致
Engine python -c "import matlab.engine; print('OK')"
simulink-mcp pip show simulink-mcp
MCP 解释器一致 mcp.jsoncommand 与上面为同一 python.exe
工作目录 已设置 SIMULINK_MCP_WORKDIR,且文件夹存在
许可 非商业用途符合 PolyForm NC

八、首次使用与排错提示

  • 第一次工具调用再启动 MATLAB,请耐心等待。
  • 若 MCP 报错:看 Cursor MCP 日志;任务管理器确认是否有 MATLAB 进程。
  • 上游 README 提到:无效 Simulink 操作可能导致会话崩溃,可 重启 MCP
  • 部分版本对 PID 等带 mask 的模块 有初始化要求,需按上游说明设置饱和与初值等参数。

九、测试示例

前置: 确认 Cursor → MCPsimulink 已开启;SIMULINK_MCP_WORKDIR 下有 .slx(或下面语句里改成你的绝对路径)。在 Agent 模式 且本对话 已启用 Simulink MCP 工具 的窗口中,将下面三段 整段复制 到输入框发送(可按顺序 ①→②→③ 执行;② 会新建模型,不必先有文件)。


① 看有什么模块,并说明它们的关系

请使用 Simulink MCP:加载 F:/SimulinkModels/1.slx(若不存在则加载我工作目录里任意一个 .slx,路径可改为我的实际文件)。然后列出该模型在 search_depth=2 下的所有模块。最后用文字说明:每个模块在信号流里扮演什么角色、参考输入/误差/控制量/被控输出之间是如何连成的负反馈回路(按你看到的连线逻辑描述即可)。

预期效果: 返回模块路径列表 + 一段 信号流 / 反馈关系 的文字说明。
在这里插入图片描述


② 用基础模块搭一个 PID 控制器(禁止使用 PID Controller 现成模块)

请使用 Simulink MCP,新建并保存一个模型 demo_pid_blocks(保存到 SIMULINK_MCP_WORKDIR 下,文件名 demo_pid_blocks.slx)。要求:绝对不要使用库里的「PID Controller」模块。请用基础库模块搭建并行形式 PID:误差 e=r-y 用一个 Sum(+-);P 支路为 Gain;I 支路为 Gain + Integrator;D 支路为 Derivative + Gain;三条支路输出用另一个 Sum(+++)合成控制量 u。被控对象用 Transfer Fcn,分子 [1]、分母 [1 1]。参考输入用 Step(0 时刻阶跃到 1)。输出用 Scope 观测被控量,并简述各模块名与参数。

预期效果: 得到新模型 demo_pid_blocks.slx,结构为 Step → 误差和 → P/I/D 三条支路 → 控制和 → 对象 → 反馈到误差和,全程无 PID Controller 模块。

在这里插入图片描述
在这里插入图片描述
有时候AI搭出来的这些模块是叠在一起的,没有很好的排版,这个时候可以选中用Simulink自带的排版功能
也可以跟ai说重新排一遍格式,让模型好理解一点


③ 搭一个简单闭环回路并仿真看图

请使用 Simulink MCP:加载刚才的demo_pid_blocks.slx。确认模型里已有单位负反馈(参考、误差、控制器、对象、Scope)。然后调用 simulate:model_name 为 demo_pid_blocks,stop_time 为 20,return_figures 为 true。仿真结束后把返回的曲线图展示出来,并用一两句话描述被控量从阶跃响应看是否收敛、有无明显振荡。

预期效果: 对话中出现 simulate 返回的 PNG 曲线(来自 Scope 等);若报错「找不到模型」,请先执行 或把路径改成你本机 .slx 的实际位置。

提示: 第一次调用 MCP 工具时 MATLAB 可能 冷启动 15~20 秒;若只有文字没有图,检查模型里是否接了 Scopereturn_figurestrue

在这里插入图片描述
在这里插入图片描述


十、参考链接