solidworks-mcp
solidworks-mcp
ローカルにインストールされた SOLIDWORKS を操作して、パラメトリック ソリッド モデルを構築・修正する MCP サーバーです。
SOLIDWORKS 2026 SP0 (リビジョン 34.0.0) を Windows 11 上で検証済みです。
動作の仕組み
MCP client ──stdio──► solidworks-mcp ──COM──► SLDWORKS.exeSOLIDWORKS は従来の COM オートメーション API を公開しています。サーバーは実行中のインスタンスに接続します(インスタンスがなければ起動します)。すべてのツールはその API にマッピングされます。
すべての長さの単位はミリメートル、すべての角度の単位は度です。 SOLIDWORKS API は内部ではメートル法 SI 単位を使用しており、変換はツールの境界で行われます。
Related MCP server: solidworks-mcp
要件
同じマシンにインストールされ、ライセンスが有効な SOLIDWORKS。
Python 3.12+、64 ビット — SOLIDWORKS のアーキテクチャと一致している必要があります。一致しない場合、COM はバインドされません。
依存関係の管理には uv を使用します。
インストール
uv syncMCP クライアントに登録する
Claude Code の場合:
claude mcp add solidworks -- uv --directory E:\solid run solidworks-mcpJSON 設定を読み取るクライアントの場合:
{
"mcpServers": {
"solidworks": {
"command": "uv",
"args": ["--directory", "E:\\solid", "run", "solidworks-mcp"]
}
}
}ツール
セッションとドキュメント — solidworks_status, new_part, open_part, save_part, close_part
スケッチ — list_planes, start_sketch, start_sketch_on_face, sketch_line, sketch_centerline, sketch_circle, sketch_rectangle, sketch_arc, sketch_polygon, sketch_ellipse, add_sketch_dimension, add_sketch_relation, finish_sketch
フィーチャー — extrude, cut_extrude, revolve, fillet, select_entity, clear_selection
パラメトリック制御 — list_features, list_dimensions, set_dimension, add_equation, list_equations, rebuild
検査 — get_measurements, capture_view
具体例
80 × 50 × 10 mm の穴付きプレートを作成し、それをパラメトリックに駆動する:
new_part
start_sketch(plane="front")
sketch_rectangle(0, 0, 80, 50)
add_sketch_dimension(entities=[[40, 0]], value=80) -> "D1@Croquis1"
add_sketch_dimension(entities=[[0, 25]], value=50) -> "D2@Croquis1"
finish_sketch
extrude(depth=10)
start_sketch(plane="front")
sketch_circle(40, 25, 8)
finish_sketch
cut_extrude(depth=10, end_condition="through_all", reverse=True)
fillet(radius=5, edges=[[0,0,5], [80,0,5], [80,50,5], [0,50,5]])
set_dimension("D1@Croquis1", 120) -> the solid rebuilds to 120 mm wide
get_measurements -> bounding box 120 x 50 x 10 mm
capture_view("isometric")知っておくべきこと
API 経由で作成されたスケッチには寸法がありません。 SOLIDWORKS は、要求した場合にのみ駆動寸法を追加します。したがって、sketch_* だけで描いたスケッチには、駆動する寸法がありません。後でジオメトリを変更する予定がある場合は、スケッチがまだ開いているうちに add_sketch_dimension を呼び出してください。
切り取り方向はスケッチの法線に従います。 フロント平面のスケッチから、その平面から離れる方向に押し出されたソリッドを切り取る場合、reverse=True が必要です。そうしないと、切り取りは空の空間へ向かって進み、失敗します。
基準平面の名前はローカライズされています。 スペイン語版のインストールでは、フィーチャー名が Croquis1 や Saliente-Extruir1 になります。ツールは論理エイリアス front/top/right を受け入れ、フィーチャーツリー内の位置で解決するため、UI の言語に関係なく動作します。list_planes は実際の名前を報告します。
SOLIDWORKS が実行されている必要があります。 サポートされているヘッドレス モードはありません。サーバーは、アプリケーションが開いていない場合に起動します。
モーダル ダイアログは COM をデッドロックさせます。 add_sketch_dimension は「寸法値の入力」設定を一時的に無効にし、後で復元します。この設定が有効なままだと、モーダル ボックスが表示され、呼び出しがハングするためです。
実装メモ
pywin32 には、コードの形を決定し、かつうっかりつまずきやすい 2 つの挙動があります。
引数なしの COM メンバーは、属性アクセス時に自動的に呼び出されます。 遅延バインディングでは、
doc.GetTitleはタイトル文字列を返します。doc.GetTitle()はTypeError: 'str' object is not callableを発生させます。引数を 1 つ以上取るメンバーは、通常どおり呼び出されます。型付き null と in/out パラメータには、明示的な VARIANT が必要です。 オプションのインターフェイス引数は、裸の
Noneを「Type mismatch」エラーで拒否するため、VARIANT(VT_DISPATCH, None)が必要です。エラー用と警告用の出力パラメータにはVARIANT(VT_BYREF | VT_I4, 0)が必要で、結果は.valueから読み戻します。
COM オブジェクトはシングルスレッド アパートメント内に存在するため、com_bridge.py はすべての呼び出しを専用の 1 つのスレッドに通します。constants.py の列挙値は、ドキュメントから書き写したものではなく、swconst.tlb から読み取ったものです。一般に引用される値と異なるものがあるためです — swEndCondThroughAllBoth は 8 ではなく 9 です。
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 gradedqualityBmaintenanceEnables LLMs to automate SolidWorks (open/save parts, modify dimensions, export STEP) via COM, and optionally generate geometry using build123d code-CAD with PNG previews.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI (e.g., Claude) to control SolidWorks via natural language, automating part creation, sketching, and feature operations through the Model Context Protocol.1MIT
- AlicenseNot gradedqualityBmaintenanceControl SolidWorks with plain language. Provides 89 tools for sketching, solid features, assemblies, and model feedback.1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for controlling a live SOLIDWORKS session through the Windows COM API, enabling native CAD operations like sketches, features, bodies, views, and exports, plus transactional plans and vectorization.1MIT
Related MCP Connectors
Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel.
Convert Revit files to XKT, IFC, or DWG and query BIM data via natural language.
Revit model query + APS Design Automation runner.
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/Christancho-co/solidworks-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server