Stars
45
Forks
3
Language
Python
Watching
3
CAD-MCP is an advanced CAD control service that leverages natural language processing (NLP) to enable users to issue drawing commands via simple text instructions, thereby automating various tasks within popular CAD software like AutoCAD, GstarCAD, and ZWCAD. This innovative platform supports a range of basic drawing functions such as line creation, circle drafting, arc generation, rectangle plotting, polyline construction, text insertion, pattern filling, and dimension annotation. It also offers layer management capabilities for organizing CAD drawings efficiently. The service's NLP features include command parsing to translate natural language into actionable parameters, color recognition from textual descriptions applied directly onto drawing elements, shape keyword mapping for diverse shapes description interpretation, and action keyword mapping that recognizes various editing commands.
CAD-MCP is an innovative CAD control service that allows controlling CAD software for drawing operations through natural language instructions. This project combines natural language processing and CAD automation technology, enabling users to create and modify CAD drawings through simple text commands without manually operating the CAD interface.
The following is the demo video.
pywin32>=228 # Windows COM interface support
mcp>=0.1.0 # Model Control Protocol library
pydantic>=2.0.0 # Data validation
typing>=3.7.4.3 # Type annotation support
The configuration file is located at src/config.json
and contains the following main settings:
{
"server": {
"name": "CAD MCP Server",
"version": "1.0.0"
},
"cad": {
"type": "AutoCAD",
"startup_wait_time": 20,
"command_delay": 0.5
},
"output": {
"directory": "./output",
"default_filename": "cad_drawing.dwg"
}
}
type
: CAD software type (AutoCAD, GCAD, GstarCAD, or ZWCAD)startup_wait_time
: CAD startup waiting time (seconds)command_delay
: Command execution delay (seconds)python src/server.py
# add to claude_desktop_config.json. Note: use your path
{
"mcpServers": {
"CAD": {
"command": "python",
"args": [
# your path, e.g.: "C:\\cad-mcp\\src\\server.py"
"~/server.py"
]
}
}
}
# Add according to the following diagram Cursor MCP. Note: use your path
# Note: use your path
npx -y @modelcontextprotocol/inspector python C:\\cad-mcp\\src\\server.py
The server provides the following main API functions:
draw_line
: Draw a linedraw_circle
: Draw a circledraw_arc
: Draw an arcdraw_polyline
: Draw a polylinedraw_rectangle
: Draw a rectangledraw_text
: Add textdraw_hatch
: Draw a hatch patternadd_dimension
: Add linear dimensionsave_drawing
: Save the drawingprocess_command
: Process natural language commandsCAD-MCP/
├── imgs/ # Images and video resources
│ └── CAD-mcp.mp4 # Demo video
├── requirements.txt # Project dependencies
└── src/ # Source code
├── __init__.py # Package initialization
├── cad_controller.py # CAD controller
├── config.json # Configuration file
├── nlp_processor.py # Natural language processor
└── server.py # Server implementation
MIT License
How is this guide?