关于 CAD-MCP Server (CAD Model Control Protocol Server)
CAD-MCP Server 通过自然语言驱动的工作流向 AI 客户端提供 CAD 绘图与编辑操作。它支持 AutoCAD、GstarCAD 和 ZWCAD,并将绘图工具与查询、结构化输出及结果检查和修正反馈结合。
主要功能
- 01绘制并标注 CAD 几何图形
- 02查询图层、实体及属性
- 03编辑、变换和排列实体
- 04管理图纸与图块
- 05提供结构化工具输出和进度通知
适用场景
- 01根据指令创建或修改 CAD 图纸
- 02检查实体属性并预览图纸
- 03通过工具管理图层、文件和图块
- 04结合查询与编辑操作修正绘图结果
MCP 相关
该 MCP 服务提供 35 个工具,涵盖绘图、查询、编辑、图层和图纸管理、图块及 CAD 命令透传。它支持 stdio 和 Streamable HTTP 传输,并提供结构化输出与进度通知。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
CAD-MCP 服务器(CAD 模型上下文协议服务器)
项目介绍
CAD-MCP 是一项创新的 CAD 控制服务,可通过自然语言指令控制 CAD 软件进行绘图操作。本项目融合了自然语言处理和 CAD 自动化技术,让用户无需手动操作 CAD 界面,只需输入简单的文本命令即可创建和修改 CAD 图纸。
2.0 版本基于最新的 MCP 规范全面升级(FastMCP、结构化输出、工具注释、进度通知、Streamable HTTP),并新增了共 35 种工具,涵盖查询、编辑、图层、图纸管理、块和命令透传,形成完整的“绘制 → 检查 → 修正”反馈闭环。
功能
CAD 控制功能
- 支持多种 CAD 软件:支持 AutoCAD、GstarCAD(GCAD)和 ZWCAD 等主流 CAD 软件
- 基本绘图功能:
- 绘制直线
- 绘制圆
- 绘制圆弧
- 绘制椭圆
- 绘制矩形
- 绘制多段线
- 添加文字
- 图案填充
- 标注尺寸
- 查询功能(AI 可以查看实际图纸内容):
- 列出所有图层
- 列出模型空间中的实体(返回可编辑的实体句柄)
- 根据句柄查询实体的详细属性(坐标、半径、文字内容等)
- 截取 CAD 窗口以供预览
- 编辑功能:擦除、移动、旋转、缩放、复制、镜像、偏移、阵列(线性/极轴)、撤销/重做
- 图层管理:创建和切换图层,查询图层状态
- 图纸管理:新建/打开/关闭/保存图纸(DWG/DXF)
- 块操作:创建、插入和列出块
- 命令透传:通过
send_command执行任意 CAD 命令(处理其他所有操作的备用方案)
MCP 协议功能
- 结构化输出:所有工具都会返回包含
outputSchema的structuredContent,客户端可直接解析 - 工具注释:查询工具标记为
readOnlyHint;破坏性操作标记为destructiveHint,以便客户端实施确认策略 - 进度通知:长时间运行的操作(启动 CAD、保存)会向客户端发送消息通知
- 双传输模式:
stdio(本地、单客户端)和streamable-http(远程/多个客户端共享同一个 CAD 实例) - 错误语义:输入验证错误会作为工具错误返回,使模型能够自行纠正
自然语言处理功能(旧版接口)
- 命令解析:将自然语言指令解析为 CAD 操作参数
- 颜色识别:从文本中提取颜色信息,并将其应用于绘图对象
- 形状关键词映射:支持识别各种形状描述词
- 操作关键词映射:识别各种绘图和编辑操作
演示
以下是演示视频。

安装要求
依赖项
pywin32>=306 # Windows COM interface support
mcp>=1.12,<2 # MCP Python SDK (FastMCP, structured output, Streamable HTTP)
pydantic>=2.0.0 # Data validation
Pillow>=10.0.0 # PNG encoding for screenshot previews
系统要求
- Windows 操作系统
- 已安装 CAD 软件(AutoCAD、GstarCAD 或 ZWCAD)
- Python 3.10+
配置
配置文件位于 src/config.json,包含以下主要设置:
{
"server": {
"name": "CAD MCP 服务器",
"version": "2.0.0",
"transport": "stdio",
"host": "127.0.0.1",
"port": 8000
},
"cad": {
"type": "AUTOCAD",
"progid": "",
"startup_wait_time": 20,
"command_delay": 0.5
},
"output": {
"directory": "./output",
"default_filename": "cad_drawing.dwg"
}
}
- server:服务名称、版本和传输设置
transport:传输模式,stdio(默认,本地单客户端)或streamable-http(远程/多客户端)host/port:Streamable HTTP 模式的监听地址和端口(也可通过--host/--port命令行参数覆盖)
- cad:
type:CAD 软件类型(AutoCAD、GCAD、GstarCAD 或 ZWCAD)progid:要使用的 COM ProgID,例如AutoCAD.Application.25.1。留空则自动检测(带版本号的 ProgID 会在注册表中查找)startup_wait_time:CAD 启动等待时间(秒)command_delay:命令执行延迟(秒)
- output:输出文件设置
使用方法
启动服务
# Option 1: Run directly (fully compatible with existing Claude/Cursor configs)
python src/server.py
# Option 2: Install as a CLI tool
pip install -e .
cad-mcp
# Option 3: Run with Streamable HTTP transport (remote / multi-client sharing one CAD instance)
python src/server.py --transport streamable-http --port 8000
# Clients connect to http://127.0.0.1:8000/mcp
从 MCP 客户端连接
服务默认使用 stdio 传输,因此同一份 JSON 配置适用于任何 MCP 客户端(Claude Desktop、Cursor、Windsurf、TRAE 等)。将其添加到客户端的 MCP 服务配置文件中(例如 claude_desktop_config.json、Cursor 的 mcp.json),并将路径替换为你自己的路径:
{
"mcpServers": {
"CAD": {
"command": "python",
"args": [
# Your actual path, such as:"C:\\cad-mcp\\src\\server.py"
]
}
}
}
对于 Streamable HTTP 模式,将客户端指向 http://127.0.0.1:8000/mcp 即可。
MCP Inspector
# Note: use your path
npx -y @modelcontextprotocol/inspector python C:\\cad-mcp\\src\\server.py
服务 API
该服务提供以下工具(共 35 个):
基本绘图:
draw_line:绘制直线draw_circle:绘制圆draw_arc:绘制圆弧draw_ellipse:绘制椭圆draw_polyline:绘制多段线draw_rectangle:绘制矩形draw_text:添加文字draw_hatch:绘制填充图案add_dimension:添加线性标注
查询:
list_layers:列出所有图层list_entities:列出模型空间中的实体(返回可编辑句柄)get_entity_properties:按句柄查询实体详细属性screenshot:截取 CAD 窗口,以确认绘图结果
编辑:
erase_entity/move_entity/rotate_entity/scale_entity:删除/移动/旋转/缩放实体copy_entity/mirror_entity/offset_entity:复制/镜像/偏移实体array_linear_entity/array_polar_entity:矩形阵列/环形阵列undo/redo:撤销/重做
图层和图形管理:
create_layer/set_current_layer:图层管理new_drawing/open_drawing/close_drawing/save_drawing:图形管理create_block/insert_block/list_blocks:块操作send_command:通过命令行执行任意 CAD 命令
旧版:
process_command:处理自然语言命令
项目结构
CAD-MCP/
├── imgs/ # Images and video resources
│ └── CAD-mcp.mp4 # Demo video
├── pyproject.toml # Packaging config (pip install -e .)
├── requirements.txt # Project dependencies
└── src/ # Source code
├── __init__.py # Package initialization
├── cad_controller.py # CAD controller (COM layer: drawing/query/editing/drawings/blocks)
├── config.py # Config singleton loader
├── config.json # Configuration file
├── models.py # Structured output models (outputSchema)
├── nlp_processor.py # Natural language processor
└── server.py # Server implementation (FastMCP)
许可证
MIT 许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。