Token导航 LogoToken导航TokenDH.com
Autocad MCP logo
运维云端stdio官方级别未说明来源级核验

Autocad MCP

MCP Server

AutoCAD MCP Server是一个用于AutoCAD LT自动化和无头DXF生成的服务,提供文件IPC和ezdxf两种后端支持。

工具数

8

提示词数

0

GitHub Stars

250

资源数

0
PythonClaude云端部署Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

puran-water

提供方

puran-water

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

Python MCP Server (autocad_mcp)

详细介绍

AutoCAD MCP服务器

用于AutoCAD LT自动化和无头DXF生成的MCP服务器。

两个后端,一个API:

后端运行时需要AutoCAD吗?屏幕截图
IPC文件Windows Python是--AutoCAD LT 2024+(Windows)Win32打印窗口
ezdxf任何平台无(无头)matplotlib渲染

服务器暴露 8个综合工具 (drawing, entity, layer, block, annotation, pid, view, system)通过MCP stdio传输。MCP客户端(Claude Desktop、Claude Code等)通过自然语言请求连接并驱动AutoCAD。

先决条件(文件IPC后端)

  • Windows 10/11 (文件IPC后端使用Win32 API进行无焦点窗口消息传递)
  • AutoCAD LT 2024或更新版本 --LT 2024为Windows添加了AutoLISP支持。AutoCAD LT for Mac存在,但确实存在 支持AutoLISP。
  • Python 3.10+ (Windows本机-不是WSL Python)
  • 紫外线 包管理器(安装指南)
ezdxf无头后端可在任何平台(Linux、macOS、WSL)上运行,无需安装AutoCAD即可离线生成DXF。

快速开始

1.克隆并安装

git clone https://github.com/puran-water/autocad-mcp.git
cd autocad-mcp
uv sync

2.在AutoCAD LT中加载LISP调度程序

打开AutoCAD LT并加载 mcp_dispatch.lsp 使用 应用:

  1. 类型 APPLOAD 在AutoCAD命令行中
  2. 浏览至 /lisp-code/mcp_dispatch.lsp
  3. 点击 负载
  4. 您应该看到: === MCP Dispatch v3.1 loaded ===Ready for commands via (c:mcp-dispatch)
提示: 将文件添加到AutoCAD启动套件(在APPLOAD对话框中),使其随每个图形自动加载。

3.配置您的MCP客户端

添加到您的MCP客户端配置中(例如Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "autocad-mcp": {
      "command": "C:\\path\\to\\autocad-mcp\\.venv\\Scripts\\python.exe",
      "args": ["-m", "autocad_mcp"],
      "env": { "AUTOCAD_MCP_BACKEND": "auto" }
    }
  }
}

要点:

  • command 必须指向 Windows Python 在项目venv中(不是WSL python)。
  • AUTOCAD_MCP_BACKEND 可以是 auto (默认--尝试文件IPC,回退到ezdxf), file_ipc (需要AutoCAD),或 ezdxf (仅无头)。

从WSL出发

如果您的MCP客户端在WSL中运行(例如Claude Code),请通过以下方式启动服务器 cmd.exe 因此它作为本机Windows进程运行:

{
  "mcpServers": {
    "autocad-mcp": {
      "type": "stdio",
      "command": "cmd.exe",
      "args": ["/d", "/s", "/c", "cd /d C:\\path\\to\\autocad-mcp && .venv\\Scripts\\python.exe -m autocad_mcp"],
      "env": { "AUTOCAD_MCP_BACKEND": "auto" }
    }
  }
}

4.验证

从您的MCP客户端拨打:

system(operation="status")

你应该看看 backend: "file_ipc" 如果AutoCAD正在运行,或 backend: "ezdxf" 无头模式。

工具

drawing --文件/图纸管理

操作说明文件IPCezdxf
create重置为干净绘图(全部擦除+清除)
open打开现有图形是(DXF)
info获取实体计数和图层
save保存当前图形(如果给定,则保存到路径)
save_as_dxf导出为DXF
plot_pdf打印为PDF
purge清除未使用的对象
get_variables按名称获取系统变量
undo撤消上次操作
redo恢复上次未完成的操作

entity --实体CRUD+修改

创建: create_line, create_circle, create_polyline, create_rectangle, create_arc, create_ellipse, create_mtext, create_hatch

阅读: list, count, get

修改: copy, move, rotate, scale, mirror, offset\*, array, fillet\*, chamfer\*, erase

\* offset, fillet, chamfer 仅支持文件IPC(ezdxf无头后端不支持)。

layer --图层管理

list, create, set_current, set_properties, freeze, thaw, lock, unlock

block --区块操作

操作文件IPCezdxf
list
insert
insert_with_attributes
get_attributes
update_attribute
define

annotation --文本、尺寸、引线

create_text, create_dimension_linear, create_dimension_aligned, create_dimension_angular, create_dimension_radius, create_leader

pid --P&ID操作(CTO符号库)

setup_layers, insert_symbol, list_symbols, draw_process_line, connect_equipment, add_flow_arrow, add_equipment_tag, add_line_number, insert_valve, insert_instrument, insert_pump, insert_tank

P&ID符号插入需要 CAD工具在线 (CTO)P&ID符号库安装在 C:\PIDv4-CTO\ezdxf后端具有内置的CTO库支持。对于File IPC后端,一些P&ID操作需要额外的LISP助手——有关设置的详细信息,请参阅wiki中的P&ID部分。

view --视口和屏幕截图

操作说明
zoom_extents缩放以显示所有实体
zoom_window缩放到指定窗口
get_screenshot将当前AutoCAD视图捕获为PNG

截图使用 PrintWindow (Win32)用于文件IPC后端——即使在AutoCAD最小化或处于后台时也能工作。ezdxf后端通过matplotlib进行渲染。

system --服务器管理

status, health, get_backend, runtime, init, execute_lisp

execute_lisp 运行任意AutoLISP代码(仅限IPC文件)。通过 data: {code: "(+ 1 2)"}这将服务器变成一个可扩展的自动化平台——任何有效的AutoLISP表达式都可以执行。

建筑

MCP Client (Claude)
    │  stdio (JSON-RPC)
    ▼
Python MCP Server (autocad_mcp)
    │
    ├── File IPC Backend ──► C:/temp/*.json ──► mcp_dispatch.lsp (AutoCAD LT)
    │   PostMessageW(WM_CHAR) to MDIClient — no focus steal
    │
    └── ezdxf Backend ──► in-memory DXF (headless, no AutoCAD needed)

File IPC后端通过以下方式将按键发送到AutoCAD的MDIClient窗口 PostMessageW(WM_CHAR),触发 (c:mcp-dispatch) AutoLISP命令。这种方法确实 窃取窗口焦点——在自动化运行时,您可以继续在其他应用程序中工作。

环境变量

变量默认值描述
AUTOCAD_MCP_BACKENDauto后端选择: auto, file_ipc, ezdxf
AUTOCAD_MCP_IPC_DIRC:/tempIPC命令/结果JSON文件的目录(必须在Python和LISP端匹配)
AUTOCAD_MCP_IPC_TIMEOUT10.0IPC命令超时(秒)(1-300)
AUTOCAD_MCP_ONLY_TEXTfalse禁用截图捕获(仅限文本反馈)
注: 如果你改变 AUTOCAD_MCP_IPC_DIR,您还必须更新 *mcp-ipc-dir* 变量in mcp_dispatch.lsp 为了匹配。

发展

uv sync
uv run pytest tests/ -v

AutoCAD LT与AutoLISP的兼容性

AutoLISP已添加到AutoCAD LT中 2024版本(仅限Windows)AutoCAD LT for Mac不支持AutoLISP。

支持(LT 2024+Windows)不支持
.lsp / .fas / .vlx / .dclVLIDE(可视化LISP IDE)
全部 vl-* 效用函数vlax-* (ActiveX/COM)
文件I/O(open, read-line等)快捷工具
实体访问(entget, entmod等)3D操作
选择集Mac上的AutoLISP

mcp_dispatch.lsp 调度员与LT 2024+完全兼容。

v3.1中的新增功能

  • execute_lisp --通过临时文件模式运行任意AutoLISP代码。将服务器从固定的命令集转换为可扩展的自动化平台。
  • 撤消/恢复 --通过单步撤消和重做 drawing 工具。
  • 绘图打开 --打开现有 .dwg 以编程方式创建文件(FILEDIA被抑制)。
  • 绘图创建 --现在重置当前图形(全部擦除+清除),而不是 _.NEW,保留LISP调度器命名空间。
  • 使用路径保存图形save 带着一个 path 参数使用SAVEAS;无路径使用QSAVE。
  • get_variables 修复 --尊敬 names 参数;返回具有适当类型处理的请求变量。
  • 折线/引线固定 --通过分号分隔格式正确编码的点数组。
  • ESC前缀 --在每次调度之前发送2x ESC,以取消之前超时的过时挂起命令。
  • UTF-8/cp1252回退 --处理LISP结果文件中的非ASCII字符(AutoCAD写入Windows-1252)。
  • 可配置IPC超时AUTOCAD_MCP_IPC_TIMEOUT env-var(1-300秒,默认值10)。
  • 线程安全后端初始化asyncio.Lock 防止并行初始化竞争。

许可证

麻省理工学院

目录标签

目录标签

PythonClaude云端部署AutoCAD自动化本地部署DXF生成CAD工具LISP支持无头渲染

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP