内容
# CAD-MCP 服务器 (CAD 模型控制协议服务器)
[English](/README_en.md) | [中文](/README_zh.md)
## 项目介绍
CAD-MCP 是一个创新的 CAD 控制服务,允许通过自然语言指令控制 CAD 软件进行绘图操作。该项目结合了自然语言处理和 CAD 自动化技术,使用户可以通过简单的文本命令创建和修改 CAD 图纸,而无需手动操作 CAD 接口。
## 功能特点
### CAD 控制功能
- **支持多种 CAD 软件**:支持主流 CAD 软件,包括 AutoCAD、GstarCAD(GCAD)和 ZWCAD
- **基本绘图功能**:
- 直线绘制
- 圆绘制
- 弧线绘制
- 矩形绘制
- 多边线绘制
- 文本添加
- 图案填充
- 尺寸标注
- **图层管理**:创建和切换图层
- **图纸保存**:将当前图纸保存为 DWG 文件
### 自然语言处理功能
- **指令解析**:将自然语言指令解析为 CAD 操作参数
- **颜色识别**:从文本中提取颜色信息并应用于绘图对象
- **形状关键词映射**:支持识别各种形状描述词语
- **动作关键词映射**:识别各种绘图和编辑动作
## 演示
以下为演示视频。

## 安装要求
### 依赖项
```
pywin32>=228 # Windows COM 接口支持
mcp>=0.1.0 # 模型控制协议库
pydantic>=2.0.0 # 数据验证
typing>=3.7.4.3 # 类型注解支持
```
### 系统要求
- Windows 操作系统
- 已安装 CAD 软件(AutoCAD、GstarCAD 或 ZWCAD)
## 配置
配置文件位于 `src/config.json`,包含以下主要设置:
```json
{
"server": {
"name": "CAD MCP 服务器",
"version": "1.0.0"
},
"cad": {
"type": "AutoCAD",
"startup_wait_time": 20,
"command_delay": 0.5
},
"output": {
"directory": "./output",
"default_filename": "cad_drawing.dwg"
}
}
```
- **server**:服务器名称和版本信息
- **cad**:
- `type`:CAD 软件类型(AutoCAD、GCAD、GstarCAD 或 ZWCAD)
- `startup_wait_time`:CAD 启动等待时间(秒)
- `command_delay`:命令执行延迟(秒)
- **output**:输出文件设置
## 使用
### 启动服务
```
python src/server.py
```
### Claude Desktop & Windsurf
```bash
# 添加到 claude_desktop_config.json 中。注意:使用您的路径
{
"mcpServers": {
"CAD": {
"command": "python",
"args": [
# 您的路径,例如:"C:\\cad-mcp\\src\\server.py"
"~/server.py"
]
}
}
}
```
### Cursor
```bash
# 根据以下图示添加 Cursor MCP。注意:使用您的路径
```

注意:新版本的 Cursor 也已更改为 JSON 配置,请参考上一节
### MCP Inspector
```bash
# 注意:使用您的路径
npx -y @modelcontextprotocol/inspector python C:\\cad-mcp\\src\\server.py
```
### 服务 API
服务器提供以下主要 API 函数:
- `draw_line`:绘制一条线
- `draw_circle`:绘制一个圆
- `draw_arc`:绘制一条弧线
- `draw_polyline`:绘制一条多边线
- `draw_rectangle`:绘制一个矩形
- `draw_text`:添加文本
- `draw_hatch`:绘制一个图案填充
- `add_dimension`:添加线性尺寸
- `save_drawing`:保存图纸
- `process_command`:处理自然语言指令
## 项目结构
```
CAD-MCP/
├── imgs/ # 图片和视频资源
│ └── CAD-mcp.mp4 # 演示视频
├── requirements.txt # 项目依赖项
└── src/ # 源代码
├── __init__.py # 包初始化
├── cad_controller.py # CAD 控制器
├── config.json # 配置文件
├── nlp_processor.py # 自然语言处理器
└── server.py # 服务器实现
```
## 许可证
MIT 许可证