AI CAE 工具实践/第 08 期
自研 MCP Server 的最高标准不是“AI 能调用”,而是“工程师敢让 AI 调用”。
很多 CAE 团队手里都有一批自己的 Python 脚本:读 CSV、画曲线、扫日志、整理 ODB 摘要、生成报告草稿。它们不复杂,也常常比通用工具更贴近团队习惯。
问题在于,脚本能跑,不代表可以直接交给 AI 跑。路径从哪里来?字段缺失怎么办?输出会不会覆盖旧结果?失败时 AI 会不会把错误包装成一句“已完成”?
现成的 Abaqus MCP、FreeCAD MCP、SALOME MCP、OpenFOAM MCP 很有价值,但它们不可能覆盖每个团队的内部脚本。自研 MCP Server 的现实意义,是把一个可信的小脚本变成受控入口,而不是让 AI 临时替你敲命令。
●1. 受控入口:脚本交给 AI 前,先把边界写窄
自研 MCP Server 不需要重新发明 CAE 软件。它要做的,是给已有脚本包上一层窄接口。
这层窄接口只做四件事:
●AI 只看见 MCP 工具。
●MCP Server 只调用白名单脚本。
●脚本只访问指定 demo 工作目录。
●输出只返回图片、日志和结构化摘要。
也就是说,AI 得到的是一个可审查的入口,而不是一把能碰所有文件的钥匙。
一个脚本要变成 MCP 工具,关键不在“能不能被调用”,而在 AI 调用前能不能读懂边界。
差的工具只说“画 CSV 曲线”。好的工具会说明:文件只能来自 demo 目录,横纵轴列名必须存在,输出包括图片路径、日志路径和统计摘要,字段缺失时返回错误。
这里的重点不是让 AI 更自由,而是让它少猜。路径不明,不调用;字段缺失,不生成图片;返回没有日志,不写成“完成”。这些边界不是削弱工具价值,而是让每次调用都能复核、能追责。

图 1|受控工具层。 白名单入口先收住风险。
调用链越短,责任越清楚;边界写得越具体,后续排查越容易落到文件、日志和参数上。这层包装的价值不在“自动化更炫”,而在工程师能审查、能复盘、能把调用权放心交出去。
●2. 安全边界:权限先收窄,自动化才可信
自研 MCP 和使用现成 MCP 最大的区别,是权限边界要自己写。这个边界不能靠“AI 应该不会乱用”来保证,只能靠代码限制。
●任意 Python,不开放。
●任意 shell,不开放。
●绝对路径,不接受。
●.. 越界,直接拒绝。
●输出已存在,不默认覆盖。
●调用失败,返回错误和日志,不包装成成功。
路径校验不需要写成复杂能力。核心只有一句:输入路径必须解析到 demo 根目录之内,绝对路径和 .. 越界都直接拒绝。
几类危险设计要直接排除:
●任意 Python 执行,改成白名单脚本。
●任意 shell 命令,改成固定工具。
●任意路径读取,限制在 demo 根目录。
●默认覆盖输出,改成唯一文件名。
●只返回成功/失败,改成摘要、路径和日志。

图 2|安全边界分层。 白名单、目录和日志逐层收口。
凡是涉及 Job 提交、模型修改、文件覆盖和生产数据读取,都应该再加一层人工确认。自研 MCP 的第一原则,是把权限收窄到工程师愿意负责的范围,而不是放大 AI 权限。
●3. 最小案例:CSV 曲线先验证只读闭环
最小案例选一个只读后处理脚本:把 CSV 应力曲线封装成 MCP Tool。
原脚本读取 demo-data/stress_curve.csv,取 time_s 和 stress_mpa 两列,生成一张曲线图,并计算最大值、最小值、均值和数据点数量。封装后的目标不是让 AI 随便找文件,而是让它按固定接口调用。
这个小案例至少要故意测失败:
●正常 CSV,返回图片、摘要和日志。
●缺少 stress_mpa,返回字段缺失。
●路径包含 ..,拒绝访问。
●传入绝对路径,拒绝访问。
●输出文件已存在,不默认覆盖。
●脚本超时,返回超时和日志。
这些测试看起来小,却覆盖了自研 MCP 最重要的几件事:参数能不能描述清楚,文件能不能管住,失败能不能解释,输出能不能追溯。
如果第一个只读工具都无法把这些问题说清楚,就不要急着接求解器。工程自动化不是从权限最大处开始,而是从责任最清楚处开始。。
●4. 风险阶梯:越接近求解,越要人工确认
不是每个脚本都值得封装,也不是每个动作都适合交给 AI 调用。
第一批最适合自研 MCP 的,是“把已有结果读清楚、画清楚、记录清楚”,不是“替我建模并求解”。越接近求解提交、模型修改和结果签核,越要保守。
可以按三条线来判断开放顺序:
●只读摘要和衍生文件,可以作为第一批工具。
●ODB、residual 这类批处理,要放在副本和白名单目录里。
●求解提交、模型修改和网格修改,默认不开放;确实要做,也必须强制人工确认。

图 3|风险阶梯。 越接近签核,越要收紧权限。
走到这里,工具观察就回到了工程师自己手里。你不一定要等别人替你的软件写好 MCP Server。从一个可靠的小脚本开始,把边界、日志和确认点设计好,工程师才敢把调用权交出去。
下一个问题|不同团队到底怎么选?
把现成 MCP、API 底座、自研 Server、代理模型和商业平台放在一起看:个人、小团队和企业,应该先补哪一块能力?
夜雨聆风