关于 Autodesk Inventor
Autodesk Inventor 是一个 MCP 服务,可通过 MCP 客户端和自然语言指令驱动参数化 3D 建模。工具涵盖零件与钣金特征、装配体和参数化草图,并提供操作报告以便验证。
主要功能
- 01创建并约束草图
- 02构建实体和钣金特征
- 03放置并约束装配零件
- 04通过 COM 连接运行 Python
- 05用拓扑报告验证操作
- 06回滚多步事务
适用场景
- 01建模带尺寸的参数化零件
- 02创建钣金外壳
- 03使用配合或插入约束装配零件
- 04用 Python 自动执行未覆盖的操作
MCP 相关
通过 MCP 为 Autodesk Inventor 提供 49 个工具,包括草图、特征创建、钣金、参数和装配体。MCP 客户端可使用这些工具控制 Inventor。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
inventor-mcp-server
NeonGlay/inventor-mcp 的持续维护版本。 原始仓库自首次发布(2026 年 6 月)以来一直没有更新,在 MCP SDK 2.x 上无法全新安装。本仓库保留了完整的原始历史,并包含已提交到上游但从未经过审查的修复和功能。如果原作者回归,这里的所有内容都可以合并回去。请参阅 CHANGELOG.md。
用于 Autodesk Inventor 参数化 3D 建模的 MCP 服务——通过自然语言使用 Claude(或任何 MCP 客户端)驱动 Inventor。
只需与 AI 助手交谈,即可构建真正的参数化零件——法兰、轴、螺母、支架、钣金外壳。该服务通过高级、基于毫米的工具封装 Inventor 的 COM API,并内置经过实战验证的 Inventor 2026 API 特性知识,这些内容在其他地方均无文档记载。
You: "Build a DIN 934 M16 hex nut with proper conical chamfers"
Claude: creates sketch → hexagon → extrude → tapped M16×2 hole →
revolve-cut chamfers → done. Fully parametric, dimensioned sketches.
功能
- 49 个 MCP 工具:草图绘制、拉伸/旋转、原生孔特征(钻孔/攻丝/沉孔)、圆角、倒角、圆形阵列、钣金(命名规则/Face/Flange/支持平板展开的 Cut)、参数
- 装配体(IAM):放置组件、固定组件、通过原点几何约束(配合/齐平/角度),或通过单个 Insert 约束将螺栓放入孔中
execute_python高级工具——通过持久命名空间,在实时 COM 连接上运行任意 Python(可用于处理专用工具未覆盖的情况)- 自动报告——每次特征操作都会返回体积/拓扑变化(
Hole1 | V 23497 (-503 mm³) | F7 E14),让 AI 能够自行验证每个步骤 - 事务——封装多步构建,一次调用即可回滚全部操作
- 热重载——编辑 API 封装并重新加载,无需重启 MCP 客户端
- 拓扑辅助工具——按坐标查找边/面,无需猜测索引
- 参数化规范——投影原点、对称约束、可在参数更改后保持有效的标注尺寸草图
要求
- Windows,需安装 Autodesk Inventor(基于 Inventor 2026 开发,也已在 Inventor 2027 上验证;较旧版本可能需要调整枚举——请参阅 docs/inventor-api-notes.md)
- Python 3.12+
pip install "mcp[cli]" pywin32——同时支持 MCP Python SDK 1.x 和 2.x(2.x 将FastMCP重命名为MCPServer;服务会自动检测已安装的版本)
安装
-
克隆此仓库:
git clone https://github.com/cenitu/inventor-mcp-server.git -
安装依赖:
pip install "mcp[cli]" pywin32 -
将服务注册到 MCP 客户端。对于 Claude Code,请在项目根目录的
.mcp.json中添加配置(参见.mcp.json.example)。使用inventor_mcp_server/server.py的绝对路径:{ "mcpServers": { "inventor": { "command": "python", "args": ["C:/path/to/inventor-mcp-server/inventor_mcp_server/server.py"] } } }不要在
-m inventor_mcp_server中使用"cwd"。 Claude Code 会忽略cwd,并从 项目根目录启动服务,在那里找不到该包——进程会立即退出,客户端只会 报告Connection closed。使用脚本的绝对路径,无论从哪个目录启动都能正常工作。为 0.2.x 编写、指向
src/server.py的配置仍然有效——该文件现在会转发到inventor_mcp_server包——但请更新配置;此兼容垫片将在后续版本中移除。也可以将其安装为包——无需克隆,配置中也可以直接使用命令:
pip install git+https://github.com/cenitu/inventor-mcp-server.git{ "mcpServers": { "inventor": { "command": "inventor-mcp-server" } } }(如果 MCP 客户端找不到该命令,请使用
where inventor-mcp-server输出的完整路径。) -
重启 MCP 客户端(MCP 服务会在会话开始时加载),启动 Inventor,然后让 AI 助手帮你构建内容。
不要在针对同一 Python 安装的自有脚本中使用
win32com.client.gencache.EnsureDispatch——生成的gen_py缓存会破坏GetActiveObject。如果发生这种情况,请删除%LOCALAPPDATA%\Temp\gen_py。完整说明请参阅 API 说明。
冒烟测试
tests/smoke_test.py 会针对正在运行的 Inventor,将每条创建几何体的代码路径都执行一次,并逐步报告 PASS/FAIL——这是验证新版本 Inventor 或确认安装正常的最快方式:
python tests/smoke_test.py # starts Inventor if needed; closes only the docs it created
python tests/smoke_test.py --keep # leave the test documents open for inspection
它还会将每个硬编码的枚举常量与实时 COM 类型库进行核对,因此,未来版本中枚举值的重新编号会显示为带名称的失败,而不是令人费解的 COM 错误。退出代码 = 失败步骤数。
当前结果:Inventor 2027 和 2027.1 上均为 61/61 项通过(Python 3.12,mcp 2.0)。
tests/assembly_smoke_test.py 对装配工具执行相同测试——它会在磁盘上创建一个板件和一个销钉,将它们放置到位,并测试配合/贴合/角度/插入约束(Inventor 2027 上 29/29 项通过)。
Skills(可选,推荐)
skills/ 目录包含两个 Agent Skills,用于教会 Claude 工作流以及 Inventor 2026 API 的特殊之处:
- inventor-modeling — 核心模式:单位、草图规范、孔位、钣金、诊断验证、常见故障模式
- inventor-din-parts — DIN/ISO 标准零件的参数化配方(六角螺母 DIN 934 / 439、螺栓 DIN 933、内六角圆柱头螺钉 DIN 912、沉头螺钉 DIN 7991、垫圈 DIN 125、法兰 DIN 2573),附尺寸表
将其复制到 Skills 目录即可安装:
cp -r skills/inventor-modeling ~/.claude/skills/
cp -r skills/inventor-din-parts ~/.claude/skills/
为什么要做这个项目
Inventor 的 COM API 文档对于近期版本中的许多内容存在错误或缺失。本项目记录了经实际验证的知识:
- 正确的 Inventor 2026 枚举值(
kPartDocumentObject = 12290、尺寸方向19201/19202/19203,……) ChamferFeatures.AddUsingDistance(EdgeCollection, d)— 用于替代已移除的CreateChamferDefinition的 2026 版本方法- 钣金
FlangeDefinition:Distance 参数会被静默忽略;实际高度通过feature.Definition.HeightExtent.Distance.Expression设置(角度单位为弧度——传入90会得到 5156°) CreateLinearPlacementDefinition需要一个动态分派不会告知你的BiasPoint参数- 每次添加特征后,边索引都会重新编号;圆角会改变相邻边的索引
- ……以及更多内容,详见 docs/inventor-api-notes.md
架构
inventor_mcp_server/server.py MCP server (FastMCP / MCPServer) — tool definitions (stdio transport)
inventor_mcp_server/inventor_api.py InventorConnection — COM wrapper, all geometry logic (mm units)
skills/ Agent Skills for Claude
docs/ Hard-won API knowledge
参与贡献
欢迎参与贡献——设置、快速的编辑 → reload_api 循环,以及如何添加工具,请参阅 CONTRIBUTING.md。以下贡献尤其有价值:
- 在 Inventor 2024/2025 上测试——运行
tests/smoke_test.py并提交一份 Inventor 版本测试报告(无需编写代码) - 支持工程图(IDW),以及更多建模工具(抽壳、放样、扫掠)
- 更多 DIN/ISO 零件配方
- 提交包含确切 COM 错误和 Inventor 版本的错误报告
可以从 good first issue 开始,也可以在 Discussions 中提问并分享你的作品。
许可证
MIT——请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。