Skip to main content
Glama
Christancho-co

solidworks-mcp

solidworks-mcp

로컬 SOLIDWORKS 설치를 구동하여 파라메트릭 솔리드 모델을 작성하고 수정하는 MCP 서버입니다.

Windows 11에서 SOLIDWORKS 2026 SP0(개정 34.0.0)에 대해 검증했습니다.

작동 방식

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

SOLIDWORKS는 클래식 COM 자동화 API를 노출합니다. 서버는 실행 중인 인스턴스에 연결하거나 새로 시작하며, 모든 도구는 해당 API에 매핑됩니다.

모든 길이는 밀리미터, 모든 각도는 도(degree) 단위입니다. 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 동작이 있으며, 이로 인해 실수하기 쉽습니다.

  • 인수가 없는 COM 멤버는 속성 접근 시 자동으로 호출됩니다. 지연 바인딩에서 doc.GetTitle은 제목 문자열을 반환하며, doc.GetTitle()TypeError: 'str' object is not callable을 발생시킵니다. 인수를 하나 이상 받는 멤버는 일반적으로 호출됩니다.

  • 형식화된 null 및 in/out 매개변수에는 명시적 VARIANT가 필요합니다. 선택적 인터페이스 인수는 단순한 None을 'Type mismatch'로 거부하므로 VARIANT(VT_DISPATCH, None)이 필요합니다. 오류 및 경고 out-매개변수에는 VARIANT(VT_BYREF | VT_I4, 0)이 필요하며, 결과는 .value에서 다시 읽습니다.

COM 개체는 단일 스레드 아파트에 있으므로 com_bridge.py는 모든 호출을 전용 스레드 하나로 전달합니다. 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