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: Civil3D MCP Server
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables users to control AutoCAD, GstarCAD, or ZWCAD through natural language via Claude Desktop. It provides tools for drawing geometric shapes, adding text and dimensions, and managing CAD files using the Windows COM interface.3MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude to a running Autodesk Civil 3D instance via COM automation to perform drawing, surface, alignment, COGO point, line, and corridor operations.7MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude to create and manipulate SolidWorks CAD models through natural language commands, automating part creation, sketching, and extrusion.9
- AlicenseBqualityCmaintenanceEnables connecting MCP clients to local SolidWorks for automated 3D part creation, template generation, file export, and basic review via natural language.101MIT
Related MCP Connectors
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tmkaio/solidworks-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server