Autodesk Inventor について
Autodesk Inventor は、MCP クライアントと自然言語の指示でパラメトリックな 3D モデリングを行う MCP サーバーです。パーツや板金のフィーチャー、アセンブリ、パラメトリックなスケッチに対応し、操作結果のレポートで検証できます。
主な機能
- 01スケッチの作成と拘束
- 02ソリッドと板金フィーチャーの作成
- 03アセンブリパーツの配置と拘束
- 04COM 接続で Python を実行
- 05トポロジーレポートによる操作検証
- 06複数ステップのトランザクションをロールバック
活用シーン
- 01寸法付きパラメトリックパーツのモデリング
- 02板金エンクロージャーの作成
- 03メイトまたは挿入拘束によるパーツの組み立て
- 04Python による未対応操作の自動化
MCP 対応
スケッチ、フィーチャー作成、板金、パラメーター、アセンブリなど、Autodesk Inventor 向けの49個のツールを MCP 経由で公開します。MCP クライアントから Inventor を操作できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
inventor-mcp-server
NeonGlay/inventor-mcp の継続メンテナンス版です。 元のリポジトリは最初のリリース(2026年6月)以降、更新されておらず、新規インストールは MCP SDK 2.x では失敗します。このリポジトリには元の履歴すべてに加え、上流に PR として提出されたもののレビューされなかった修正と機能が含まれています。元の作者が戻ってきた場合、ここにあるすべての内容を元のリポジトリにマージできます。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 ツール:スケッチ、押し出し/回転、ネイティブの穴フィーチャー(ドリル/タップ/座ぐり)、フィレット、面取り、円形状パターン、板金(名前付きルール/面/フランジ/カット、フラットパターンに対応)、パラメーター
- アセンブリ(IAM):コンポーネントの配置と固定、原点ジオメトリによる拘束(メイト/フラッシュ/角度)、または単一の挿入拘束でボルトを穴に挿入
execute_pythonパワーツール — 永続的な名前空間を使って、ライブ COM 接続上で任意の Python を実行します(専用ツールで対応していない機能のためのエスケープハッチです)- 自動レポート — すべてのフィーチャー操作が体積/トポロジーの差分を返すため(
Hole1 | V 23497 (-503 mm³) | F7 E14)、AI は各ステップを自己検証できます - トランザクション — 複数ステップのビルドをまとめ、1 回の呼び出しですべてをロールバックできます
- ホットリロード — API ラッパーを編集し、MCP クライアントを再起動せずに再読み込みできます
- トポロジーヘルパー — インデックスを推測せず、座標でエッジ/面を検索できます
- パラメトリック設計の徹底 — 投影された原点、対称拘束、パラメーター変更後も維持される寸法付きスケッチ
要件
- Autodesk Inventor を搭載した Windows(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とだけ表示されます。スクリプトの絶対パスを指定すれば、どのディレクトリからでも動作します。src/server.pyを指定する 0.2.x 用の設定も引き続き動作します。このファイルは現在、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/ ディレクトリには、Claude にワークフローと Inventor 2026 API の注意点を教える 2 つのエージェントスキルが含まれています。
- inventor-modeling — 基本パターン:単位、スケッチの作法、穴の配置、板金、診断検証、よくある失敗の原因
- inventor-din-parts — DIN/ISO 標準部品のパラメトリックなレシピ(六角ナット DIN 934/439、ボルト DIN 933、六角穴付きボルト DIN 912、皿ネジ DIN 7991、ワッシャー DIN 125、フランジ DIN 2573)と寸法表
スキルディレクトリにコピーしてインストールします:
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。