mcpField
A
Autodesk Inventor

Autodesk Inventor

本地服务
github.com/cenitu媒体与设计02 天前更新

关于 Autodesk Inventor

Autodesk Inventor 是一个 MCP 服务,可通过 MCP 客户端和自然语言指令驱动参数化 3D 建模。工具涵盖零件与钣金特征、装配体和参数化草图,并提供操作报告以便验证。

主要功能

  1. 01创建并约束草图
  2. 02构建实体和钣金特征
  3. 03放置并约束装配零件
  4. 04通过 COM 连接运行 Python
  5. 05用拓扑报告验证操作
  6. 06回滚多步事务

适用场景

  1. 01建模带尺寸的参数化零件
  2. 02创建钣金外壳
  3. 03使用配合或插入约束装配零件
  4. 04用 Python 自动执行未覆盖的操作

MCP 相关

通过 MCP 为 Autodesk Inventor 提供 49 个工具,包括草图、特征创建、钣金、参数和装配体。MCP 客户端可使用这些工具控制 Inventor。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cenitu-inventor": {
"command": "uvx",
"args": [
"inventor-mcp-server"
]
}
}
}
启动命令uvx inventor-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiinventor-mcp-server0.9.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

inventor-mcp-server

PyPI CI License: MIT Contributions welcome

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;服务会自动检测已安装的版本)

安装

  1. 克隆此仓库:

    git clone https://github.com/cenitu/inventor-mcp-server.git
    
  2. 安装依赖:

    pip install "mcp[cli]" pywin32
    
  3. 将服务注册到 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 输出的完整路径。)

  4. 重启 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。