Skip to main content

MCP server for controlling AutoCAD/GstarCAD/ZWCAD via COM interface

Project description

CAD-Cowork-MCP

MCP server that lets AI Agents control AutoCAD / GstarCAD / ZWCAD via Windows COM interface.

通过 MCP(Model Context Protocol)让 AI Agent 控制 AutoCAD / 浩辰 CAD / 中望 CAD 的独立 MCP 服务器。

Features

  • 129 parameterized API commands covering drawing, querying, modification, batch operations, etc.
  • Smart command routing with automatic execution method selection
  • Batch execution engine with DAG dependency and cross-command parameter passing (${cmd_id.field})
  • GsLc process flow diagram domain-specific command disambiguation
  • System prompt template guiding Agents to call commands correctly

Prerequisites

  • Windows (requires COM interface)
  • Python 3.10+
  • AutoCAD / GstarCAD / ZWCAD (installed and running)
  • cad-cowork-cstool .NET plugin loaded in CAD

Installation

For Claude Code users

Add to your Claude Code MCP settings:

{
  "mcpServers": {
    "cad-mcp": {
      "command": "uvx",
      "args": ["cad-cowork-mcp"]
    }
  }
}

For other MCP clients

# Install globally
pip install cad-cowork-mcp

# Or run directly with uvx
uvx cad-cowork-mcp

For development

git clone https://github.com/dalong0514/CAD-Cowork-MCP.git
cd CAD-Cowork-MCP
uv sync
uv run cad-cowork-mcp

Configuration

CAD type

Edit config.json (inside the installed package) or set before launching:

CAD Software Type Value
AutoCAD AUTOCAD (default)
GstarCAD (浩辰 CAD) GCAD
ZWCAD (中望 CAD) ZWCAD

MCP Tools

Tool Description
smart_cad_command [Core] Unified entry point for all CAD operations
batch_execute Batch execute multiple commands with DAG dependencies
execute_api_command Execute a single API command directly
list_api_commands List all 129 available API commands
get_api_command_info Get detailed parameter definition for a command
gslc_route_command [GsLc] Process flow diagram command router

Usage Examples

// Draw a line
{"command_name": "api_draw_line", "parameters": {"startPoint": [0,0,0], "endPoint": [100,100,0]}}

// Draw a circle
{"command_name": "api_draw_circle", "parameters": {"center": [100,100,0], "radius": 50}}

// Insert a block
{"command_name": "api_insert_block", "parameters": {"blockName": "valve", "insertionPoint": [100,100,0]}}

// Query by layer
{"command_name": "api_query_by_layer", "parameters": {"layerName": "Equipment"}}

// Move entity
{"command_name": "api_move_entity", "parameters": {"entityHandle": "27E2C0", "fromPoint": [0,0,0], "toPoint": [100,100,0]}}

API Command Categories (129 total)

Category Count Examples
Drawing 10 api_draw_line, api_draw_circle, api_create_polyline
Query 15 api_get_entity_info, api_query_by_layer
Block 8 api_insert_block, api_set_block_attributes
Modify 11 api_move_entity, api_delete_entity
Batch 11 api_batch_move, api_batch_copy
Spatial 8 api_calc_distance, api_calc_area
Layer 8 api_create_layer, api_list_layers
Document 4 api_save_document, api_get_document_info
View 5 api_zoom_extents, api_zoom_window
Selection 7 api_select_all, api_select_window
Transaction 3 api_transaction_begin, api_transaction_commit
Process Flow (GsLc) 39 api_gslc_query_frame_info, api_gslc_insert_equipment

Testing

# Unit tests (no CAD required)
uv run pytest -m unit

# Integration tests (CAD must be running)
uv run pytest -m scenario -v -s --timeout=0

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cad_cowork_mcp-1.0.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cad_cowork_mcp-1.0.0-py3-none-any.whl (77.4 kB view details)

Uploaded Python 3

File details

Details for the file cad_cowork_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: cad_cowork_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cad_cowork_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1324da08ca42d9c98035c6ea39fb174187801346f107548b578138f5237d038d
MD5 f52120473b19d8fdb756edea20d9e8e2
BLAKE2b-256 16410a13cdb040bc613d9fcc72a5e6e02af067dee8b9911559366f2fa48b971b

See more details on using hashes here.

File details

Details for the file cad_cowork_mcp-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: cad_cowork_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 77.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cad_cowork_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2792f8c822ff9e31d3ec5d121edd0722086ab3da0ed1fc8dfed853f635bc121f
MD5 0fd8e897210fce122d35d32ecbebf443
BLAKE2b-256 02702ea0a5f113c11f6c0e1e0469efd0ac560c351176b000aa18a7eefb0d264b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page