solidworks-mcp
solidworks-mcp
COM API経由でClaude DesktopをSolidWorksに接続し、金型・プレス加工業界向けに板金部品の自動解析を実現するMCPサーバーです。
できること
金型エンジニアはClaude Desktopを開いて、次のように言うことができます:
「
bracket.stepを開いて、板厚、全穴径、曲げ数を教えて、 フラットパターンをDXFとして書き出して。」
ClaudeはMCPツールを呼び出して、次のことを行います:
SolidWorksでSTEPを開く
板金を検出し、板厚とKファクターを読み取る
すべての穴を直径ごとに列挙・グループ化する
各曲げを集計・特性評価する(角度、半径、長さ)
部品を平坦化し、フラットパターンをDXFとして書き出す
構造化された解析レポートを返す
節約できる時間: 手作業による検査60〜90分 → 約60秒。
Related MCP server: solidworks-mcp-python
SolidWorksなしで試す
このプロジェクトの大半はライセンス版のSolidWorksインストールが必要ですが、analyze_step_standaloneはCadQueryが動作する環境ならどこでも実行できます。このリポジトリのテストフィクスチャに対して実行すると:
pip install -e .
conda install -c cadquery cadquery # see docs/INSTALL.md for the pip route
python -c "
from mcp.server.fastmcp import FastMCP
from solidworks_mcp.solidworks_bridge import SolidWorksBridge
from solidworks_mcp.tools.analysis import register
import json
mcp = FastMCP('demo'); register(mcp, SolidWorksBridge())
fn = mcp._tool_manager._tools['analyze_step_standalone'].fn
print(json.dumps(fn(file_path='tests/fixtures/sample_part.step'), indent=2))
"sample_part.stepの実際の出力 — 100 x 60 x 2 mmのプレートにØ6 mmの貫通穴が4つあるもの(要約版。完全な結果にはfile_path、個々のバウンディングボックスの境界、および単位の注記も含まれます):
{
"file_size_kb": 33.48,
"volume_mm3": 11773.81,
"surface_area_mm2": 12564.6,
"bounding_box": {
"dimensions_mm": [100.0, 60.0, 2.0]
},
"center_of_mass_mm": { "x": 0.0, "y": 0.0, "z": 1.0 },
"face_count": 10,
"face_types": { "PLANE": 6, "CYLINDER": 4 },
"estimated_thickness_mm": 2.0,
"is_likely_sheet_metal": true
}4つの穴は4つの円筒面として現れ、板厚はバウンディングボックスの最小寸法から推定されます。
前提条件
要件 | バージョン |
Windows | 10または11(64ビット) |
Python | 3.10、3.11または3.12 |
SolidWorks | Standard 2022以降(インストールおよびライセンス認証が必要) |
Claude Desktop | 最新版 |
SolidWorksは、このサーバーと同じマシンにインストールされ、アクティベートされている必要があります。COM APIは完全なアプリケーションを必要とするため、SolidWorks PDMやViewerでは不十分です。
クイックインストール
REM 1. Clone the repository
git clone https://github.com/tmkaio/solidworks-mcp.git
cd solidworks-mcp
REM 2. Create a virtual environment
python -m venv .venv
.venv\Scripts\activate
REM 3. Install the package
pip install -e .
REM 4. (Optional) Install CadQuery for standalone STEP analysis
conda install -c cadquery cadqueryClaude Desktopの設定
claude_desktop_config.example.jsonをコピーして、Claudeの設定にマージしてください:
場所: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"solidworks": {
"command": "C:\\path\\to\\solidworks-mcp\\.venv\\Scripts\\python.exe",
"args": ["-m", "solidworks_mcp.server"],
"env": {
"PYTHONPATH": "C:\\path\\to\\solidworks-mcp\\src",
"LOG_LEVEL": "INFO"
}
}
}
}Claude Desktopを再起動してください。チャットツールバーにハンマーアイコン(🔨)が表示されるはずです。
ステップバイステップのガイドはdocs/INSTALL.mdを参照してください。
会話例
You: Open C:\parts\door_hinge.step and give me a full analysis.
Claude: [calls open_file, get_part_info, analyze_holes, analyze_bends]
The door hinge is a sheet metal part:
- Thickness: 2.00 mm (K-factor: 0.44)
- Bounding box: 120 x 80 x 45 mm
- Mass: 312 g
- 12 holes: Ø6mm x 4, Ø8mm x 4, Ø12mm x 4
- 3 bends: 90° x R2mm (two) and 45° x R3mm (one)
- Complexity: medium
You: Export the flat pattern as DXF to C:\output\hinge_flat.dxf
Claude: [calls flatten_part, export_dxf, unflatten_part]
Flat pattern exported: C:\output\hinge_flat.dxf (18.4 KB)
Flat dimensions: 310 x 80 mm利用可能なツール
接続
ツール | 説明 |
| SolidWorksに接続(未起動の場合は起動) |
| 接続状態とアクティブなドキュメントを確認 |
| COM参照を解放 |
ファイル
ツール | 説明 |
| STEP、SLDPRT、IGESなどを開く |
| アクティブなドキュメントを閉じる |
| 保存 / 名前を付けて保存 |
| 開いているすべてのファイルを一覧表示 |
解析
ツール | 説明 |
| 質量、体積、材料、板金フラグ |
| L x W x H + 対角線 |
| フィーチャーのヒストグラム |
| すべての穴を直径ごとにグループ化 |
| すべての曲げ(角度/半径/長さ) |
| エグゼクティブサマリー + 複雑度評価 |
| 完全なJSON + Markdownレポート |
| SolidWorks不要 — CadQueryを使用 |
| Ixx/Iyy/Izz + 慣性乗積 |
| 面タイプの内訳(平面/円筒面など) |
板金
ツール | 説明 |
| True/Falseチェック |
| 板厚、Kファクター、曲げ半径 |
| インポートしたソリッドを板金に変換 |
| フラットパターンを有効化 |
| 折り曲げ状態に戻す |
書き出し
ツール | 説明 |
| フラットパターン -> DXF(レーザー / NC用) |
| パーツ -> STEP AP214 |
| パーツ -> STL |
| ドキュメント -> PDF |
| ビューポート -> PNG |
カスタムプロパティと材料
ツール | 説明 |
| アクティブなドキュメントからすべてのカスタムプロパティを読み取る |
| 指定した名前の単一プロパティを読み取る |
| カスタムプロパティを作成または更新 |
| カスタムプロパティを削除 |
| SolidWorksライブラリから材料を割り当てる |
| 利用可能な.sldmat材料データベースを一覧表示 |
コンフィギュレーション
ツール | 説明 |
| アクティブフラグ付きですべてのコンフィギュレーションを一覧表示 |
| 現在アクティブなコンフィギュレーションの詳細 |
| 別のコンフィギュレーションをアクティブ化 |
| 新しいコンフィギュレーションを作成(既存のコピー) |
| コンフィギュレーションを削除 |
| コンフィギュレーション固有のカスタムプロパティ |
測定
ツール | 説明 |
| 名前付きの2つのエンティティ間の距離 |
| 単一エンティティの長さ/面積/座標 |
| インデックスで指定した面の面積、法線、重心 |
| 2つのエンティティ間の最小クリアランス |
| 断面のIxx/Iyy/面積/重心 |
フィーチャー管理
ツール | 説明 |
| FeatureManagerツリーを一覧表示(タイプフィルタ付き) |
| フィーチャーのタイプ、抑制状態、エラー |
| コンフィギュレーション内のフィーチャーを抑制 |
| 抑制されたフィーチャーを復元 |
| フィーチャー上のパラメトリック寸法 |
| リビルドを強制(標準またはフル) |
| フィーチャーのリビルドエラーを説明 |
図面
ツール | 説明 |
| アクティブなパーツ/アセンブリから新しい図面を作成 |
| 図面に標準/等角ビューを追加 |
| 図面内のすべてのビューを一覧表示 |
| シート数、スケール、用紙サイズ |
| 図面シートのスケールを変更 |
アセンブリ
ツール | 説明 |
| すべてのコンポーネントを一覧表示(トップレベルまたは再帰的) |
| コンポーネント数をクイック取得 |
| 数量付き部品表(BOM) |
| すべてのメイト拘束を一覧表示 |
| 指定したコンポーネントの質量、パス、バウンディングボックス |
| アセンブリ全体の質量と重心 |
制限事項(v0.1)
アセンブリサポートは読み取り専用です。 コンポーネント、BOM、メイト、質量は読み取れますが、メイトの作成やコンポーネントの挿入はサポートされていません。
パラメトリック編集はできません。 フィーチャーの一覧表示、抑制、抑制解除はできますが、寸法を駆動することはできません。
STEPファイルは「ダム」ソリッドとしてインポートされます。 曲げ解析が何かを返す前に、
convert_to_sheet_metalを実行する必要があります。ストリップレイアウト / 順送金型設計には対応していません。
Windowsのみで、ライセンス版のローカルSolidWorksインストールが必要です — COM APIには完全なアプリケーションが必要です。唯一の例外は
analyze_step_standaloneで、CadQuery経由でどこでも実行できます。
ロードマップ
Version | Feature |
v0.2 | ストリップレイアウトツール — ステーション構成 |
v0.3 | 力の計算(切り抜き、曲げ、絞り) |
その先については、成形性とアンダーカット検出、生成した図面へのGD&T注記、ネスティング統合のいずれも有力な方向性ですが、確定したものはありません。
開発
テストスイートはCOMレイヤーをモックするため、実行にSolidWorksのライセンスは不要です:
pip install -e ".[dev]"
ruff check src tests
pytest -vWindowsではそれで全てです。54件すべてのテストが実行されます。CIはLinux上で同じ2つのコマンドを実行し、pywin32にはLinux用ホイールがないため、pip install -e .ではなく純Pythonの依存関係を直接インストールします。
依存関係がない場合、失敗する代わりに自身をスキップするグループが2つあります:
connect()/disconnect()テストはpythoncomとwin32com.clientを名前でパッチするため、pywin32が必要で、Windowsでのみ実行されます。analyze_step_standaloneにはCadQueryが必要です。
それ以外のすべて — COM呼び出し契約、穴と曲げの抽出、単位変換、フィーチャー走査 — はどこでも実行されます。
ログ
サーバーログ: %USERPROFILE%\.solidworks-mcp\logs\server.log
Claude Desktopログ: %APPDATA%\Claude\logs\
ライセンス
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
CAD in ChatGPT and Claude: editable parts, STEP/STL/drawings, in-chat 3D, automatic checks.
Connect Claude to your Platform7n workspaces: chat, links, work and decks. One-click OAuth.
Phasio is the operating platform contract manufacturers run on: quoting, production, and back office across additive, CNC, molding, and every process in between. This connector gives LLMs like Claude, ChatGPT and Grok access to your Phasio workspace, so you can interact naturally with your manufacturing data. Commercial - Which customers drive the most revenue? How storefront self-service orders compare against quotes your team builds by hand? Where do carts convert and where they stall? Parts - Inspect any parts volume, bounding box, minimum wall thickness and watertightness, with rendered orthogonal views. Find near-duplicates of a part you've already made before you quote it again. Pricing - Run quotes against parts using your LLM. Ask the model to explain why a part got a certain price, and to tune and refine your pricing equations. Production - Where a job's parts sit on the routing right now? What's been scrapped and why, and which other jobs were caught by the same failed build? Setup - Easily configure pricing equations, shop floor routing and your QMS agentically.
Create contacts, move deals, send proposals and invoices, read your inbox, from Claude or ChatGPT.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Claude to create and manipulate SolidWorks CAD models through natural language commands, automating part creation, sketching, and extrusion.10-
- AlicenseBqualityBmaintenanceEnables Claude or any MCP client to drive a live SOLIDWORKS session through its COM API, modeling parts, building assemblies with mates, checking interferences and machining feasibility, and exporting STEP or DXF files. It also exposes a local semantic index of the SOLIDWORKS API so the model can look up signatures, enums, and official examples before running arbitrary Python against the session.221MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents such as Claude to drive SolidWorks through its COM API using natural language, creating parts and assemblies, sketching geometry, and adding features without clicking menus. Also supports running arbitrary API scripts and verifying results through model reports, rendered views, interference checks, and exports.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables Claude to control SolidWorks through natural language, supporting part and assembly creation, sketches, advanced features, dimension editing, selection inspection, screenshots, and rebuilds.MIT