mcpField
C
CAD-MCP Server (CAD Model Control Protocol Server)

CAD-MCP Server (CAD Model Control Protocol Server)

本地服务
github.com/daobataotie媒体与设计6501 天前更新

关于 CAD-MCP Server (CAD Model Control Protocol Server)

CAD-MCP Server 通过自然语言驱动的工作流向 AI 客户端提供 CAD 绘图与编辑操作。它支持 AutoCAD、GstarCAD 和 ZWCAD,并将绘图工具与查询、结构化输出及结果检查和修正反馈结合。

主要功能

  1. 01绘制并标注 CAD 几何图形
  2. 02查询图层、实体及属性
  3. 03编辑、变换和排列实体
  4. 04管理图纸与图块
  5. 05提供结构化工具输出和进度通知

适用场景

  1. 01根据指令创建或修改 CAD 图纸
  2. 02检查实体属性并预览图纸
  3. 03通过工具管理图层、文件和图块
  4. 04结合查询与编辑操作修正绘图结果

MCP 相关

该 MCP 服务提供 35 个工具,涵盖绘图、查询、编辑、图层和图纸管理、图块及 CAD 命令透传。它支持 stdio 和 Streamable HTTP 传输,并提供结构化输出与进度通知。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"CAD-MCP": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
启动命令npx -y @modelcontextprotocol/inspector

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

CAD-MCP 服务器(CAD 模型上下文协议服务器)

English | 中文 | ไทย

项目介绍

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 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。