dxf-cad-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dxf-cad-mcpdraw a 120x80 plate with 4 corner holes, dimension it, then render a PNG preview"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
dxf-cad-mcp
轻量级 DXF CAD MCP 服务器:让任何 AI agent(Claude / dsh / Cursor …)通过 MCP 协议 画工程图,不依赖 CAD 图形界面。
创建 DXF → 绘制实体/标注/填充/图块 → 图层管理 → 检查图纸
→ PNG 预览 / 矢量 PDF 导出 → 一键打开到 CAD跨平台:macOS / Windows / Linux 均可运行(DXF 是 Autodesk 公开规范的交换格式)
纯本地:ezdxf + matplotlib,不需要网络,不需要 CAD 授权即可生成图纸
macOS + AutoCAD 友好:内置中文字体(.ttc)与 "白/黑" 双色(ACI 7)渲染修复
为什么走 DXF 路线
AutoCAD for Mac 没有 AppleScript / COM / .NET 接口,直接操控 UI 不可行 (Windows 上的 CAD MCP 项目大多依赖 COM,难以移植)
DXF 是公开交换格式:ezdxf 纯本地读写,生成的图纸任何 CAD 软件都能打开 (AutoCAD / LibreCAD / QCAD / FreeCAD …)
"以文件为中心" 的架构:稳定、可验证、可回放——PNG/PDF 预览与 CAD 终显互相对照
特性
11 个 MCP 工具,覆盖完整 2D 绘图工作流(见下表)
9 种基础实体 + 5 种尺寸标注 + 27 种标准填充图案 + 样条 + 图块
颜色三种写法:ACI 数字 / 颜色名(
"red")/#RRGGBB真彩色内置标准线型:Dashed / Center / Hidden / Phantom / Dashdot
PNG 预览 + 矢量 PDF 导出(auto 自适应或 A4/A3/A2 横版)
中文渲染:启动时自动注册系统 CJK 字体,中文标注/文字预览不空白
工具列表(11 个)
工具 | 说明 |
| 创建空 DXF(版本 R12~R2018,默认 R2010) |
| 追加实体:line / polyline / rectangle / circle / arc / ellipse / point / text / mtext;文件不存在自动创建,引用的图层自动创建 |
| 追加尺寸标注:linear / aligned / radius / diameter / angular;返回每个标注的实测值 |
| 追加填充:solid 实底 / ANSI31 等标准图案;闭合多边形边界 |
| 追加样条线(过拟合点集的 2/3 阶样条) |
| 定义图块(内含 |
| 创建/更新图层(颜色:ACI 数字 / 颜色名 / #RRGGBB;线型:Continuous/Dashed/Center/Hidden/Phantom/Dashdot) |
| 检查图纸:版本、实体统计、类型分布、包围盒、图层 |
| 渲染 PNG 预览(ezdxf + matplotlib,不需要打开 CAD) |
| 导出矢量 PDF(线条/文字保持矢量,可 auto 自适应或 A4/A3/A2 横版) |
| 用 macOS |
快速开始
git clone <repo-url> dxf-cad-mcp && cd dxf-cad-mcp
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt # mcp<2, ezdxf, matplotlib或者直接作为包安装(附带 dxf-cad-mcp 命令):
pip install . # 或 pipx install .不经 MCP 先试一把(生成一张带标注/填充/图块的示例图):
.venv/bin/python examples/quickstart.py
# 输出 examples/quickstart.dxf / .png / .pdf接入 MCP 客户端
服务器使用 stdio 传输,在任何支持 MCP 的客户端里配置命令行即可。
dsh(~/.dsh/profiles/web/cordis.patch.yml):
- insert:
- id: mcp-dxf-cad
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: dxf-cad
transport: stdio
command: /path/to/dxf-cad-mcp/.venv/bin/python
args: ['/path/to/dxf-cad-mcp/server.py']
cwd: /path/to/dxf-cad-mcp
toolCallTimeoutMs: 120000通用 MCP 客户端(Claude Desktop / Cursor 等):
{
"mcpServers": {
"dxf-cad": {
"command": "/path/to/dxf-cad-mcp/.venv/bin/python",
"args": ["/path/to/dxf-cad-mcp/server.py"]
}
}
}测试
.venv/bin/python test_client.py # 端到端(第一批):基础实体 + 渲染
.venv/bin/python test_client2.py # 端到端(第二批):标注/填充/样条/图块 + PDF测试产物输出到 test_output/(已 gitignore)。
已知限制
仅 2D:无参数化实体/约束/动态块(DXF 格式本身不含这些数据)
DXF 写入版本最高 R2018(AC1032),AutoCAD 2018+ 均可读取
标注预览使用 ezdxf 简化渲染器,与 CAD 显示可能有差异(AutoCAD 打开时按 定义点重新渲染,以 CAD 显示为准)
填充边界仅支持闭合多边形(圆形/弧线边界暂不支持)
仅 model space;布局/图纸空间未实现
dxf_open_in_autocad仅 macOS(依赖open命令)mcp SDK 固定
<2:2.x 把 FastMCP 改名 MCPServer,与 v1 客户端生态不兼容
项目结构
dxf-cad-mcp/
├── server.py # MCP 服务器(11 个工具)
├── examples/
│ └── quickstart.py # 直调示例(无需 MCP 协议)
├── test_client.py # 端到端测试(第一批)
├── test_client2.py # 端到端测试(第二批)
├── requirements.txt
├── pyproject.toml
├── LICENSE # MIT
└── README.mdLicense
This server cannot be deployed
Maintenance
Related MCP Connectors
DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
PDF, image, video, OCR, screenshot, SQL, QR and text tools for agents. No API key, no signup.
Image & PDF tools for AI agents: compress, convert, resize, PDF, AI vision, pipeline.