用 MCP 让 Claude Code 操作 Moldex3D:三次失败之后我学到的事
把模流仿真软件 Moldex3D 接进 AI 编程流程的完整复盘——为什么前三个方案都走不通,最后靠什么跑通。
背景
做模流仿真的人大概都懂这种痛苦:Moldex3D 的操作是一长串点选——新建工程、导几何、画网格、设工艺参数、提交计算、等结果、截图出报告。整套流程里真正需要人判断的只有两三步,其余全是重复劳动。
我的想法很直接:既然 Claude Code 已经能写脚本、能跑命令,能不能让它直接操作 Moldex3D,把「点鼠标」变成「说需求」?
方案演进
方案一:直接读结果文件
最朴素的思路——不控制软件,只解析它输出的结果文件。
- 做法:盯着 Moldex3D 的工程目录,解析
.xml/.rlt结果,让 AI 读数据做分析。 - 结果:只解决了「读」,没解决「写」。参数还是要人去点,效率提升有限。
- 教训:自动化要省的是「操作」而不是「阅读」,先搞清楚瓶颈在哪一端。
方案二:模拟点击(UI 自动化)
- 做法:用截图 + 坐标点击模拟人操作。
- 结果:软件一弹窗、一换分辨率就全乱,脚本比人还脆。
- 教训:把稳定性押在像素上是最糟糕的赌注。UI 自动化是最后手段,不是第一选择。
方案三:命令行 / 脚本接口
- 做法:找 Moldex3D 有没有 CLI 或宏录制。
- 结果:能力覆盖不全,很多步骤只能回到 GUI。
- 教训:厂商没提供的能力,硬绕过去只会越绕越远。
最终方案:MCP Server
把「软件能做的事」封装成 MCP 工具,让 Claude Code 通过 MCP 协议调用:
- 每个工具对应一个明确动作(建工程、设参数、提交计算、取结果);
- AI 负责「理解需求 → 选工具 → 编排顺序」,工具负责「可靠执行」;
- 出错时返回结构化错误,AI 能读懂并重试或换路。
踩坑记录
- 工具粒度太细,AI 会迷路。一开始暴露了二十多个小工具,模型经常组合错。后来合并成 6 个「粗粒度动作」,成功率明显上升。
- 没有 schema 校验的参数等于没参数。工艺参数不校验范围,传错值要等计算跑完才发现。加了 zod 校验后,一半的错误在调用前就被拦下。
- 同步等待计算结果会超时。模流动辄算几十分钟,MCP 调用不能一直挂着。改成「提交 + 轮询状态」两个工具后才稳定。
结果与复盘
跑通之后,一个完整的「改参数 → 重算 → 出对比结论」流程从半天压缩到十几分钟,而且过程可复现。
三点复盘:
- 先定义边界,再写代码。AI 负责决策、工具负责执行,这条边界一模糊,系统就会变脆。
- 失败的方案不是白干的。前三个方案确定了「哪些路不通」,第四个方案才有明确的形状。
- 给 AI 的工具要「少而稳」。工具数量少、语义清晰、错误可读,比功能全覆盖重要得多。
参考
- 项目仓库:moldex3d-mcp-skill
- MCP 官方文档:https://modelcontextprotocol.io