Skip to main content
Glama
tmkaio

solidworks-mcp

by tmkaio

solidworks-mcp

CI License: MIT Python 3.10+

COM API経由でClaude DesktopSolidWorksに接続し、金型・プレス加工業界向けに板金部品の自動解析を実現するMCPサーバーです。

できること

金型エンジニアはClaude Desktopを開いて、次のように言うことができます:

bracket.stepを開いて、板厚、全穴径、曲げ数を教えて、 フラットパターンをDXFとして書き出して。」

ClaudeはMCPツールを呼び出して、次のことを行います:

  1. SolidWorksでSTEPを開く

  2. 板金を検出し、板厚とKファクターを読み取る

  3. すべての穴を直径ごとに列挙・グループ化する

  4. 各曲げを集計・特性評価する(角度、半径、長さ)

  5. 部品を平坦化し、フラットパターンをDXFとして書き出す

  6. 構造化された解析レポートを返す

節約できる時間: 手作業による検査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 cadquery

Claude 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_connect

SolidWorksに接続(未起動の場合は起動)

solidworks_status

接続状態とアクティブなドキュメントを確認

solidworks_disconnect

COM参照を解放

ファイル

ツール

説明

open_file

STEP、SLDPRT、IGESなどを開く

close_file

アクティブなドキュメントを閉じる

save_file

保存 / 名前を付けて保存

list_open_documents

開いているすべてのファイルを一覧表示

解析

ツール

説明

get_part_info

質量、体積、材料、板金フラグ

get_bounding_box

L x W x H + 対角線

count_features_by_type

フィーチャーのヒストグラム

analyze_holes

すべての穴を直径ごとにグループ化

analyze_bends

すべての曲げ(角度/半径/長さ)

get_geometry_stats

エグゼクティブサマリー + 複雑度評価

generate_part_report

完全なJSON + Markdownレポート

analyze_step_standalone

SolidWorks不要 — CadQueryを使用

get_moments_of_inertia

Ixx/Iyy/Izz + 慣性乗積

analyze_faces

面タイプの内訳(平面/円筒面など)

板金

ツール

説明

is_sheet_metal

True/Falseチェック

get_sheet_metal_properties

板厚、Kファクター、曲げ半径

convert_to_sheet_metal

インポートしたソリッドを板金に変換

flatten_part

フラットパターンを有効化

unflatten_part

折り曲げ状態に戻す

書き出し

ツール

説明

export_dxf

フラットパターン -> DXF(レーザー / NC用)

export_step

パーツ -> STEP AP214

export_stl

パーツ -> STL

export_pdf

ドキュメント -> PDF

take_screenshot

ビューポート -> PNG

カスタムプロパティと材料

ツール

説明

get_custom_properties

アクティブなドキュメントからすべてのカスタムプロパティを読み取る

get_custom_property

指定した名前の単一プロパティを読み取る

set_custom_property

カスタムプロパティを作成または更新

delete_custom_property

カスタムプロパティを削除

set_material

SolidWorksライブラリから材料を割り当てる

get_material_databases

利用可能な.sldmat材料データベースを一覧表示

コンフィギュレーション

ツール

説明

list_configurations

アクティブフラグ付きですべてのコンフィギュレーションを一覧表示

get_active_configuration

現在アクティブなコンフィギュレーションの詳細

switch_configuration

別のコンフィギュレーションをアクティブ化

add_configuration

新しいコンフィギュレーションを作成(既存のコピー)

delete_configuration

コンフィギュレーションを削除

get_configuration_properties

コンフィギュレーション固有のカスタムプロパティ

測定

ツール

説明

measure_distance

名前付きの2つのエンティティ間の距離

measure_entity

単一エンティティの長さ/面積/座標

get_face_properties

インデックスで指定した面の面積、法線、重心

measure_minimum_distance

2つのエンティティ間の最小クリアランス

get_section_properties

断面のIxx/Iyy/面積/重心

フィーチャー管理

ツール

説明

list_features

FeatureManagerツリーを一覧表示(タイプフィルタ付き)

get_feature_info

フィーチャーのタイプ、抑制状態、エラー

suppress_feature

コンフィギュレーション内のフィーチャーを抑制

unsuppress_feature

抑制されたフィーチャーを復元

get_feature_dimensions

フィーチャー上のパラメトリック寸法

rebuild_model

リビルドを強制(標準またはフル)

get_feature_error

フィーチャーのリビルドエラーを説明

図面

ツール

説明

create_drawing_from_part

アクティブなパーツ/アセンブリから新しい図面を作成

add_drawing_view

図面に標準/等角ビューを追加

list_drawing_views

図面内のすべてのビューを一覧表示

get_drawing_info

シート数、スケール、用紙サイズ

set_drawing_scale

図面シートのスケールを変更

アセンブリ

ツール

説明

get_assembly_components

すべてのコンポーネントを一覧表示(トップレベルまたは再帰的)

get_component_count

コンポーネント数をクイック取得

get_assembly_bom

数量付き部品表(BOM)

list_assembly_mates

すべてのメイト拘束を一覧表示

get_component_info

指定したコンポーネントの質量、パス、バウンディングボックス

get_assembly_mass

アセンブリ全体の質量と重心

制限事項(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 -v

Windowsではそれで全てです。54件すべてのテストが実行されます。CIはLinux上で同じ2つのコマンドを実行し、pywin32にはLinux用ホイールがないため、pip install -e .ではなく純Pythonの依存関係を直接インストールします。

依存関係がない場合、失敗する代わりに自身をスキップするグループが2つあります:

  • connect() / disconnect()テストはpythoncomwin32com.clientを名前でパッチするため、pywin32が必要で、Windowsでのみ実行されます。

  • analyze_step_standaloneにはCadQueryが必要です。

それ以外のすべて — COM呼び出し契約、穴と曲げの抽出、単位変換、フィーチャー走査 — はどこでも実行されます。

ログ

サーバーログ: %USERPROFILE%\.solidworks-mcp\logs\server.log

Claude Desktopログ: %APPDATA%\Claude\logs\

ライセンス

MIT

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

Maintenance

UpdatingMaintainers
UpdatingResponse time
Release cycle
0Releases (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
    D
    maintenance
    Enables 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.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Claude to a running Autodesk Civil 3D instance via COM automation to perform drawing, surface, alignment, COGO point, line, and corridor operations.
    7
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to create and manipulate SolidWorks CAD models through natural language commands, automating part creation, sketching, and extrusion.
    9
  • A
    license
    B
    quality
    C
    maintenance
    Enables connecting MCP clients to local SolidWorks for automated 3D part creation, template generation, file export, and basic review via natural language.
    10
    1
    MIT

View all related MCP servers

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.

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/tmkaio/solidworks-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server