Skip to main content
Glama
Christancho-co

solidworks-mcp

solidworks-mcp

ローカルにインストールされた SOLIDWORKS を操作して、パラメトリック ソリッド モデルを構築・修正する MCP サーバーです。

SOLIDWORKS 2026 SP0 (リビジョン 34.0.0) を Windows 11 上で検証済みです。

動作の仕組み

MCP client  ──stdio──►  solidworks-mcp  ──COM──►  SLDWORKS.exe

SOLIDWORKS は従来の COM オートメーション API を公開しています。サーバーは実行中のインスタンスに接続します(インスタンスがなければ起動します)。すべてのツールはその API にマッピングされます。

すべての長さの単位はミリメートル、すべての角度の単位は度です。 SOLIDWORKS API は内部ではメートル法 SI 単位を使用しており、変換はツールの境界で行われます。

Related MCP server: solidworks-mcp

要件

  • 同じマシンにインストールされ、ライセンスが有効な SOLIDWORKS。

  • Python 3.12+、64 ビット — SOLIDWORKS のアーキテクチャと一致している必要があります。一致しない場合、COM はバインドされません。

  • 依存関係の管理には uv を使用します。

インストール

uv sync

MCP クライアントに登録する

Claude Code の場合:

claude mcp add solidworks -- uv --directory E:\solid run solidworks-mcp

JSON 設定を読み取るクライアントの場合:

{
  "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 が必要です。そうしないと、切り取りは空の空間へ向かって進み、失敗します。

基準平面の名前はローカライズされています。 スペイン語版のインストールでは、フィーチャー名が Croquis1Saliente-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 です。

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI (e.g., Claude) to control SolidWorks via natural language, automating part creation, sketching, and feature operations through the Model Context Protocol.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP 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.
    1
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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