Skip to main content

AutoCAD-mcp

用自然语言 / AI 驱动你电脑上正在运行的 AutoCAD 完成 2D 制图自动化。
通过 MCP 协议把 AutoCAD 的绘图、标注、图层/块、机械图框/标题栏/BOM/球标等能力暴露给 WorkBuddy 及任意 MCP 客户端;支持 AutoCAD 2014 及兼容版本。

License: MIT Python Release PyPI


它能做什么

通过 Windows COM(ActiveX) 连接本机 AutoCAD,把以下能力以 MCP 工具暴露给 WorkBuddy / 任意 MCP 客户端:

  • 🖊️ 绘制:直线、圆、多段线、矩形、单行/多行文字
  • 📐 标注:线性、对齐、半径、直径
  • 🗂️ 图层 / 块 / 样式管理:新建图层、切换当前层、块定义与插入、中文文字样式(宋体,不乱码)
  • 📐 机械制图:A3 图框、GB 标准中文标题栏、BOM 明细表、球标
  • 🔍 查询 / 清理:列出实体、按图层擦除、按 Handle 平移
  • 54 条 2D 命令 COM 路由已实图核实:明确哪些命令走纯 COM、哪些必须走 SendCommand,避免卡死

能力清单(MCP 工具)

能力 对应工具
连接 / 环境探测 connect / capabilities / list_documents
绘制 线/圆/多段线/矩形/文字 draw_line / draw_circle / draw_polyline / draw_rect / add_text / add_mtext
查询图面 query_entities
标注 线性/对齐/半径/直径 dim_linear / dim_aligned / dim_radial / dim_diameter
图层 / 块 / 样式 ensure_layer / set_current_layer / ensure_block / insert_block
机械图框 / 标题栏 / BOM / 球标 a3_frame / title_block / bom_grid / balloon
清理 / 变换 erase_layer / move_entity

机械图框、GB 标准标题栏、BOM 明细表、球标等均以几何 + 文字直接生成,开箱即用、无需依赖任何 CAD 私有向导。


54 条 2D 命令 COM 路由(实图核实)

本 MCP 底层已通过实图逐条核实 54 个 AutoCAD 2D 命令的可靠驱动路径,结果汇总在 SKILL.mdautocad-skill-kit(如本地已克隆)中。

路由类型 数量 典型命令
纯 COM 可靠 33 LINE/CIRCLE/ARC/PLINE/POLYGON/RECTANG/HATCH/REGION/BLOCK/INSERT/MOVE/ROTATE/SCALE/MIRROR/OFFSET/ARRAY/ERASE/COPY/EXPLODE/LAYER/ZOOM/REGEN/QSAVE...
COM 几何复刻 1 REVCLOUD(原生 _REVCLOUD SendCommand 会卡死,用闭合多段线 + 向外 bulge 复刻)
必须走 SendCommand 20 TRIM/EXTEND/BREAK/JOIN/CHAMFER/FILLET/BOUNDARY/DIMLINEAR/DIMRADIUS/DIMCENTER/QDIM/PAN/DIST/AREA/LIST/PROPERTIES...

判定口诀:凡有 ModelSpace.AddXxx 或实体方法 → 走纯 COM;只有交互/查询类才走 SendCommand,且必须程序化预选集,否则 CAD 卡死。


环境要求

  • Windows(COM/ActiveX 仅 Windows 可用)
  • AutoCAD 已安装并打开至少一张 DWG(2014 及兼容版本;理论上支持 R2010+ 的 ActiveX 接口)
  • 运行环境:首次启动会自动拉取 mcp(v1) + pywin32

⚠️ 本连接器仅支持 AutoCAD,需要本机已安装并运行 AutoCAD(依赖 Windows COM/ActiveX)。


安装与运行

方式一:uvx / pipx(推荐,发布后)

uvx autocad-mcp            # 自动下载并启动 MCP 服务(stdio)
# 或
pipx run autocad-mcp

方式二:从源码

git clone https://github.com/liqi82/autocad-mcp.git
cd autocad-mcp
pip install -e .
autocad-mcp                # 或 python -m autocad_mcp.server

本地开发时也可直接进入 src 目录用托管 Python 运行:

cd autocad-mcp/src
python -m autocad_mcp.server

接入 WorkBuddy(连接器)

  1. 把下面内容合并进 WorkBuddy 的 ~/.workbuddy/mcp.jsonmcpServers

    {
      "mcpServers": {
        "autocad-2d": {
          "command": "uvx",
          "args": ["autocad-mcp"],
          "env": { "PYTHONUTF8": "1" }
        }
      }
    }
    
  2. 在连接器管理页面对 「autocad-2d」 点击 信任 / 启用

  3. 确认 AutoCAD 已打开一张 DWG。

  4. 在对话里直接说,例如:"在 Drawing2.dwg 画一个直径 300 的圆""插入 A3 图框并填写标题栏"

本地未发布时,可把 command 改为你的 Python 解释器、args 改为 ["-m","autocad_mcp.server"]cwd 指向 src 目录。


使用示例(MCP 工具直接调用)

connect()                                  → 连接当前活动图纸,返回能力信息
a3_frame(landscape=true)                   → 插入 A3 横式外框
title_block(fields={"图名":"总布置图","图号":"SC-001","比例":"1:200"})
draw_circle(cx=210, cy=148.5, radius=150)  → 直径 300 的圆
bom_grid(origin_x=20, origin_y=360,
         headers=["序号","名称","数量","材料"],
         rows=[["1","船体","1","钢"],["2","电机","2","—"]],
         col_widths=[20,80,30,40])
balloon(x=120, y=200, number="1", leader_x=160, leader_y=230)
dim_linear(x1=0,y1=0,x2=420,y2=0,tx=210,ty=-15)   → 水平尺寸标注
query_entities()                            → 列出模型空间所有实体
erase_layer("HW_TEST_TMP")                  → 清理临时图层

快速演示(一键跑通全套能力)

仓库内置一个端到端演示脚本 examples/demo_showcase.py,它通过真实 MCP stdio 服务器在目标图纸上画出一张带标注的机械示例图(矩形轮廓 + 孔 + 线性标注 + 球标 + BOM 明细表 + 文字),全部画在独立图层 HW_DEMO,便于一键清理。

# 1) 先装好连接器(见上文「方式二:从源码」)
pip install -e .

# 2) 打开 AutoCAD 与目标图纸(默认 Drawing2.dwg,可在脚本顶部的 TARGET_DOC 改)
# 3) 运行演示(用托管 Python)
python examples/demo_showcase.py

演示会依次调用 connect → ensure_layer → draw_rect → draw_circle → dim_linear → balloon → bom_grid → add_text,并输出每个工具的返回值(Handle)。效果等价于你亲口说:"在 Drawing2 画一个矩形零件,开个孔,标个尺寸,加球标和 BOM"。

想看真实渲染,直接用 AutoCAD 打开该图纸、切到 HW_DEMO 图层即可;清理时删除该图层内容或调用 erase_layer(layer="HW_DEMO")


局限与注意事项

  • 仅 Windows + AutoCAD:依赖 COM/ActiveX,无法在 macOS/Linux 或非 AutoCAD 环境使用。
  • 需 AutoCAD 运行中:服务启动后通过 GetActiveObject 连接已运行的 AutoCAD 实例;未启动会报错。
  • 单实例:多开 AutoCAD 时可能连到非预期窗口,建议用 connect(doc_name=...) 显式指定。
  • 中文:文字默认使用 HW_CN(宋体 TTF)样式以避免方框乱码。
  • 安全:删除实体、保存、关闭文档等写操作请先确认;本服务只新增实体、不自动保存,便于 Ctrl+Z 撤销。

FAQ

Q:需要联网吗?
A:不需要。连接器完全在本机通过 COM 与已运行的 AutoCAD 通信,不上传你的图纸。

Q:支持 AutoCAD 哪个版本?
A:ActiveX 接口自 R2010 起基本稳定,已在 AutoCAD 2014(19.1s 中文版)验证;更高版本通常也可用。

Q:能画 3D 吗?
A:当前聚焦 2D 制图自动化。3D 可后续扩展。

Q:坐标单位是什么?
A:当前图纸的单位(通常毫米)。角度为弧度。


发布与分享

本项目设计为可发布、可分享:

  • GitHubgit tag v1.1.0 后发布 Release;pyproject.toml 已配置 autocad-mcp 控制台入口,可 uvx autocad-mcp 直接使用。
  • WorkBuddy 技能市场:可以搜索本技能并下载使用。
  • 私有分发:直接把整个文件夹发给同事,pip install -e . 后即可用。

欢迎提 Issue / PR,一起把 AutoCAD 自动化能力补全。

License

MIT © 2026 John Zhang, ZWCAD-2D contributors, 李琦 (liqi8209@qq.com)

author:李琦/liqi(Email: liqi8209@qq.com)

Download files

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

Source Distribution

autocad_mcp-1.1.2.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

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

autocad_mcp-1.1.2-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file autocad_mcp-1.1.2.tar.gz.

File metadata

  • Download URL: autocad_mcp-1.1.2.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for autocad_mcp-1.1.2.tar.gz
Algorithm Hash digest
SHA256 6128694580653b0d9c1d94103049417dfe55e5b9450720bc7361e00c79b892f9
MD5 cf39b60812dafacd17c657e4227adf78
BLAKE2b-256 e4755d8ef76c0ec7ece2d3548650fd9449ca39049e89a8c1333c1ebb5c3e69e6

See more details on using hashes here.

File details

Details for the file autocad_mcp-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: autocad_mcp-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for autocad_mcp-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 91cf2817b84199831c85bebaade31872b9e917e77fcd80b5c664c602f5fe6464
MD5 02e6c88965ca8650016a3d80ebf8666b
BLAKE2b-256 6fd633ef8e777fd82ed0849cf72d9712d7f79bf6806807cc44591a7b5126438e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page