cenitu

inventor-mcp-server

Community cenitu
Updated

MCP server for parametric 3D modeling in Autodesk Inventor — maintained continuation of NeonGlay/inventor-mcp (MCP SDK 2.x, Inventor 2027, assemblies)

inventor-mcp-server

PyPICILicense: MITContributions welcome

Maintained continuation of NeonGlay/inventor-mcp.The original repository has had no activity since its initial release (June 2026), and freshinstalls there fail on MCP SDK 2.x. This repo carries the full original history plus the fixesand features that were submitted upstream as PRs and never reviewed. If the original authorreturns, everything here is available to be merged back. See CHANGELOG.md.

MCP server for parametric 3D modeling in Autodesk Inventor — drive Inventor with Claude (or any MCP client) in natural language.

Build real parametric parts — flanges, shafts, nuts, brackets, sheet-metal enclosures — by talking to an AI assistant. The server wraps Inventor's COM API with high-level, millimeter-based tools and ships with battle-tested knowledge of Inventor 2026 API quirks that aren't documented anywhere else.

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.

Features

  • 49 MCP tools: sketching, extrude/revolve, native hole features (drilled / tapped / counterbore), fillets, chamfers, circular patterns, sheet metal (named rules / Face / Flange / Cut with Flat Pattern support), parameters
  • Assemblies (IAM): place components, ground them, constrain by origin geometry (mate / flush / angle) or drop a bolt into a hole with a single Insert constraint
  • execute_python power tool — run arbitrary Python against the live COM connection with a persistent namespace (escape hatch for anything not covered by dedicated tools)
  • Auto-reporting — every feature operation returns a volume/topology delta (Hole1 | V 23497 (-503 mm³) | F7 E14), so the AI can self-verify each step
  • Transactions — wrap multi-step builds, roll back everything with one call
  • Hot reload — edit the API wrapper and reload without restarting the MCP client
  • Topology helpers — find edges/faces by coordinates instead of guessing indices
  • Parametric discipline — projected origin points, symmetry constraints, dimensioned sketches that survive parameter changes

Requirements

  • Windows with Autodesk Inventor (developed on Inventor 2026, also verified on Inventor 2027; older versions may need enum adjustments — see docs/inventor-api-notes.md)
  • Python 3.12+
  • pip install "mcp[cli]" pywin32 — MCP Python SDK 1.x and 2.x are both supported (2.x renamed FastMCP to MCPServer; the server detects which is installed)

Installation

  1. Clone this repository:

    git clone https://github.com/cenitu/inventor-mcp-server.git
    
  2. Install dependencies:

    pip install "mcp[cli]" pywin32
    
  3. Register the server with your MCP client. For Claude Code, add to .mcp.json in your project root (see .mcp.json.example). Use the absolute path to inventor_mcp_server/server.py:

    {
      "mcpServers": {
        "inventor": {
          "command": "python",
          "args": ["C:/path/to/inventor-mcp-server/inventor_mcp_server/server.py"]
        }
      }
    }
    

    Don't use "cwd" with -m inventor_mcp_server. Claude Code ignores cwd and starts the server fromyour project root, where the package can't be found — the process exits immediately and the client onlyreports Connection closed. Pointing at the script by absolute path works from any directory.

    Configs written for 0.2.x that point at src/server.py still work — that file now forwards to theinventor_mcp_server package — but please update them; the shim will be removed in a later release.

    Alternatively, install it as a package — no clone needed, and the config gets a plain command:

    pip install git+https://github.com/cenitu/inventor-mcp-server.git
    
    { "mcpServers": { "inventor": { "command": "inventor-mcp-server" } } }
    

    (If your MCP client can't find the command, use the full path printed by where inventor-mcp-server.)

  4. Restart the MCP client (MCP servers load at session start), start Inventor, then ask your AI assistant to build something.

Do NOT use win32com.client.gencache.EnsureDispatch in your own scripts against the same Python install — the generated gen_py cache breaks GetActiveObject. If it happens: delete %LOCALAPPDATA%\Temp\gen_py. See the API notes for the full story.

Smoke test

tests/smoke_test.py exercises every geometry-creating code path once against a liveInventor and reports PASS/FAIL per step — the quickest way to qualify a new Inventorrelease or verify your install:

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

It also checks every hard-coded enum constant against the live COM type library, so arenumbered enum in a future release shows up as a named failure instead of a crypticCOM error. Exit code = number of failed steps.

Current results: 61/61 pass on Inventor 2027 and 2027.1 (Python 3.12, mcp 2.0).

tests/assembly_smoke_test.py does the same for the assembly tools — it builds aplate and a pin on disk, places them, and exercises mate / flush / angle / insertconstraints (29/29 pass on Inventor 2027).

Skills (optional, recommended)

The skills/ directory contains two Agent Skills that teach Claude the workflow and the Inventor 2026 API quirks:

  • inventor-modeling — core patterns: units, sketch discipline, hole placement, sheet metal, diagnostic verification, common failure modes
  • inventor-din-parts — parametric recipes for DIN/ISO standard parts (hex nuts DIN 934 / 439, bolts DIN 933, socket head cap screws DIN 912, countersunk screws DIN 7991, washers DIN 125, flanges DIN 2573) with dimension tables

Install by copying into your skills directory:

cp -r skills/inventor-modeling ~/.claude/skills/
cp -r skills/inventor-din-parts ~/.claude/skills/

Why this exists

Inventor's COM API documentation is wrong or silent about many things in recent versions. This project encodes empirically verified knowledge:

  • Correct Inventor 2026 enum values (kPartDocumentObject = 12290, dimension orientation 19201/19202/19203, …)
  • ChamferFeatures.AddUsingDistance(EdgeCollection, d) — the 2026 replacement for the removed CreateChamferDefinition
  • Sheet-metal FlangeDefinition: the Distance argument is silently ignored; the real height is set via feature.Definition.HeightExtent.Distance.Expression (and the angle is in radians — pass 90 and you get 5156°)
  • CreateLinearPlacementDefinition requires a BiasPoint argument that dynamic dispatch won't tell you about
  • Edge indices renumber after every feature; fillets shift adjacent edges
  • …and more in docs/inventor-api-notes.md

Architecture

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

Contributing

Contributions welcome — see CONTRIBUTING.md for setup, the fastedit → reload_api loop, and how to add a tool. Especially valuable:

  • Testing on Inventor 2024/2025 — run tests/smoke_test.py and file anInventor version test report (no code needed)
  • Drawing (IDW) support, and more modeling tools (shell, loft, sweep)
  • More DIN/ISO part recipes
  • Bug reports with the exact COM error and Inventor version

Start with a good first issue,or ask and share what you built in Discussions.

License

MIT — see LICENSE.

MCP Server · Populars

MCP Server · New

    TalkToHumans

    LinkedIn MCP Server

    Safe LinkedIn MCP server for Claude, ChatGPT, Cursor & Codex. Your Agents read LinkedIn DMs, search your network, enrich profiles and draft messages you send.

    Community TalkToHumans
    bex-co

    Beancount.io Backend

    💰 Double-entry bookkeeping made easy — plain-text accounting for humans and AI agents. Polished iOS & Android app built with React Native + Expo.

    Community bex-co
    nkapila6

    mcpsurfr

    Local web search MCP server, formerly mcp-local-rag. Multi-engine deep research with on-device re-ranking. ✨ no API keys ✨

    Community nkapila6
    convex

    mcp.ts

    The open-source reactive database for app developers

    Community convex
    convex

    convex-backend

    The open-source reactive database for app developers

    Community convex