QCAD 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., "@QCAD MCPrender floorplan.dxf to SVG and extrude its walls into a 3D STL"
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.
QCAD MCP
AI-driven 2D CAD automation — DXF/DWG parsing, 3D extrusion, persistent file depot, room analysis, and full CRUD management. 42 MCP tools for DXF processing. Your AI assistant becomes a QCAD Pro operator.
You might use this if… | You want your AI to process floor plans programmatically, convert DXF to 3D for Resonite/Unity3D, maintain a persistent CAD file depot, or automate drafting workflows. |
What it connects to |
|
Ports | Backend 11966, Dashboard 11967 |
Start |
|
MCP Tools
Tool | Access | Purpose |
| READ | List files in the persistent CAD depot with metadata |
| READ | DXF metadata: layers, entity counts, bounding box, blocks |
| MUTATE | Create DXF from primitives (line, rect, circle, text, polyline) |
| MUTATE | DXF → SVG preview with layer filtering |
| MUTATE | DXF walls → 3D STL mesh (configurable height/thickness) |
| MUTATE | DXF → SVG/PNG/PDF (ezdxf or QCAD Pro) |
| READ | Room detection, area calculation, door/window identification |
| READ | Measure distances and lengths in a DXF |
| READ | Extract wall segments as BIM-ready JSON (QCAD Pro) |
| READ | 2D beam FEM analysis (numpy, no QCAD needed) |
| MUTATE | Add aligned/linear/angular/radial dimensions (QCAD Pro) |
| MUTATE | Add text annotations (QCAD Pro) |
| MUTATE | Add hatch patterns (QCAD Pro) |
| MUTATE | Insert CAD blocks from library (QCAD Pro) |
| MUTATE | Rectangular/polar array patterns (QCAD Pro) |
| MUTATE | Convert between DXF and DWG (QCAD Pro) |
| MUTATE | Delete/offset/rename/freeze layers |
| MUTATE | Execute arbitrary ECMAScript in QCAD Pro |
| MUTATE | High-fidelity SVG/PDF/BMP render via QCAD Pro |
| MUTATE | Quick ECMAScript snippet execution |
| READ | Search 4800+ CAD blocks from part library |
| MUTATE | Download a block DXF from library |
| READ | Search QCAD ECMAScript scripts gallery |
| MUTATE | Download a script from gallery/Gist |
| READ | QCAD Pro install/running/version report |
| MUTATE | NL → ECMAScript via AI sampling (MCP only, needs QCAD Pro) |
| MUTATE | AutoLISP → QCAD ECMAScript translation (MCP only, needs QCAD Pro) |
| MUTATE | Floor-plan DXF from a text brief via local LLM |
| MUTATE | Multi-storey wall extrusion to STL |
| MUTATE | Extrusion output → OBJ / GLB (Resonite path) |
| READ | Drawing-set helpers for multi-sheet DXF |
| MUTATE | Auto-dimension wall geometry (BIM) |
| READ | Building/storey metadata for BIM handoff |
| READ | Wall data as IFC-shaped JSON |
| READ | Live help catalog: tools, REST routes, config |
| READ | Orderly server shutdown (confirm=true) |
Related MCP server: autocad-mcp
Fleet Crossconnects (Companions)
qcad-mcp works completely standalone. You can optionally connect it with companion servers in the sandraschi fleet to unlock extended features:
Companion Server | Feature Unlocked | Status | Setup |
3d-scene-extrusion, render-dxf-layouts | Optional | ||
2d-draft-to-parametric-3d | Optional |
Self-Contained Companions: Fleet companions operate independently. Installing companions does not trigger transitive dependency chains.
CAD Depot (Persistent File Storage)
All CAD files are stored in a persistent depot at %LOCALAPPDATA%\qcad-mcp\depot — survives server restarts and system reboots. Configurable via QCAD_MCP_DEPOT env var.
Depot CRUD via REST API:
Endpoint | Method | Description |
| GET | List all files with metadata (size, dates, description, tags) |
| GET | Download a DXF file |
| PUT | Rename or update description/tags |
| DELETE | Remove file + metadata sidecar |
| POST | Create DXF from JSON entity spec (line, rect, circle, text, polyline) |
| POST | Upload DXF/DWG directly to depot |
REST API
Endpoint | Method | Description |
| GET | Server health, ezdxf version, QCAD Pro status |
| POST | Upload DXF/DWG (also saved to depot) |
| GET | Download SVG/STL/PDF/PNG outputs |
| GET | List all files (depot + outputs) |
| GET/PUT/DELETE | Full CRUD on the persistent CAD depot |
| POST | Execute any MCP tool |
| GET | SSE live log stream |
| POST | Chat with CAD expert via Ollama |
| GET/PUT | LLM + extrusion defaults + QCAD Pro path |
Webapp Pages
Route | Page | Description |
| Dashboard | Hero banner, QCAD Pro status panel, depot stats, ezdxf version |
| AI CAD Demo | NL → floor plan → SVG → 3D STL. Baroque church, mob compound, art museum presets |
| Depot | Full CRUD file browser with SVG preview, create DXF wizard, upload, rename, delete |
| Viewer | DXF upload + SVG preview with per-layer toggle |
| Extrude | DXF → STL with wall height/thickness/wall-layer controls |
| Analyse | Room detection, area table, door/window list |
| Layers | Layer visibility, freeze/lock, rename, bulk operations |
| Blocks | Search 4800+ CAD blocks from library with download |
| Scripts | Browse QCAD ECMAScript scripts gallery + save local scripts |
| AI Agent | Autonomous multi-step CAD workflow (QCAD Pro) |
| Batch | Run info/analysis/extrude across all depot files. STL batch extrude with gallery |
| Pipeline | 5-step wizard: describe → SVG → analyse → STL → FreeCAD wall data export |
| Playground | Tool API tester: select any tool, edit JSON args, execute, view raw response |
| Models | Uploads vs outputs listing with download |
| Logs | Live SSE log viewer with filter/export/pause |
| Settings | LLM provider/model, extrusion defaults, QCAD Pro path |
| Help | 10-tabbed reference: QCAD, ezdxf, tools, pipeline, formats, fleet |
| — | Free, paid, and historic floorplan sources + raster→DXF pipeline |
Quick Start
just bootstrap # uv sync + npm install
start.ps1 # kills zombies, starts backend + frontend, opens browserInstall (Claude Desktop, Windows)
irm https://github.com/sandraschi/qcad-mcp/releases/latest/download/install.ps1 | iexInstalls the stable qcad-mcp.mcpb bundle into Claude Desktop. Other
clients (Cursor, VS Code, OpenCode): use uvx with the stdio entry:
{
"mcpServers": {
"qcad-mcp": {
"command": "uv",
"args": ["run", "--directory", "D:\\Dev\\repos\\qcad-mcp", "run_server.py"]
}
}
}MCP Client Config
{
"mcpServers": {
"qcad": {
"url": "http://localhost:11966/sse",
"transport": "sse"
}
}
}Raster → DXF Pipeline (Planned)
Scanning a floorplan print into a working DXF is straightforward:
Book/magazine page → scanner (300-600 DPI) inkscape-mcp
↓ (Trace Bitmap)
Potrace / Inkscape ↓
↓ QCAD MCP
Raw vector DXF (plan_modify)
↓
Clean up in QCAD / plan_modifyStep | Tool | What it does |
Scan | Any scanner | 300-600 DPI, grayscale or B&W, save as PNG/TIFF |
Vectorize | inkscape-mcp | Converts raster lines to SVG paths |
Convert | SVG → DXF (via potrace or ezdxf) | Opens in any CAD program |
Clean | qcad-mcp | Merge short segments, delete stray marks, re-layer, re-dimension |
Two approaches:
inkscape-mcp route — send the scanned PNG to inkscape-mcp's
trace_bitmap()tool, get back SVG with proper path geometry. The SVG imports cleanly into QCAD as workable entities.potrace in qcad-mcp — add a
plan_raster_to_dxf(file_name)tool that wraps potrace + ezdxf. Self-contained, no external server needed.
Either way, the result goes through plan_modify for cleanup (delete noise, merge wall segments, re-assign layers, re-add dimensions). The baroque church preset in the Demo page proves the parametric geometry works — scanning would let you capture actual existing buildings.
QCAD Pro Pricing — €50? Really?
QCAD Professional sells for €50.40 for a single-user license — lifetime, no subscription. That looks absurd next to AutoCAD at $2,000+/year, but RibbonSoft's revenue model is more nuanced:
Product | Price | Market |
Community Edition | Free (GPLv3) | Hobbyists, students, tinkerers |
QCAD Professional | €50.40 | Individual professionals, small firms |
QCAD Pro Site License | €440.40 | Companies (unlimited seats, single site) |
QCAD Pro Server License | €583.20 | Self-hosted deployment |
QCAD Pro Scalable Server | €1,771.20 | Enterprise-scale |
QCAD/CAM (CNC add-on) | €132.00 | Manufacturing |
QCAD/CAM Site License | €1,173.60 | CNC shops |
Books / E-Books | €40–42 each | Documentation, passive income |
The strategy is open-core freemium with enterprise site-license extraction:
Community Edition is genuinely free and capable (GPLv3). It's a giant funnel — architects, makers, and students learn on it, recommend it, and eventually their employer buys a site license.
€50 individual is friction-free "impulse buy" pricing — no PO approval needed, no vendor negotiation. You just buy it.
Site & server licenses (€440–€1,771) are where the real revenue lives. An architecture firm with 20 seats paying €440 beats 200 individuals paying €50. And server licenses for SaaS/on-prem deployment scale further.
QCAD/CAM at €132 captures the CNC/manufacturing niche — a separate, higher-value market.
Books at €40 are pure margin — the manual is already written, printing costs are negligible.
RibbonSoft is a Swiss GmbH (limited company) based in Sarnen, not retirees. 100% of their office energy is from Swiss hydropower (they're proud enough to put it in the footer). They've been doing this since 1999 — 26+ years of sustainable bootstrapping.
Who pays? Ganesh in Bangalore runs the Community Edition for his residential projects — it handles DXF perfectly for Indian building code drawings. When a client demands DWG or PDF export, he drops €50 on Pro — one job pays for it. As his practice scales past 5 seats, he graduates to a site license. Meanwhile a European architecture firm pays €440 for compliance reasons and never thinks twice. The Bay Area Autodesk tax ($2,500+/year) only makes sense when someone else is paying.
€50 clears every threshold, everywhere. No PO approval, no vendor negotiation, no subscription clock. You buy it once and own it.
Quality Stack
Python: Ruff linter + format, Pyright typecheck —
src/+run_server.pyFrontend: Biome +
tsc --noEmit— 18 TypeScript pagesProtocol: FastMCP 3.4 (stdio + HTTP
/mcp) + 40 REST routesTools: 42 MCP tools with READ_ONLY/MUTATING annotations
Automation: Justfile recipes for all fleet operations
Tests: pytest (78+) + Playwright e2e specs
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Headless CAD engine & MCP server for 2D/3D drafting, solids, DXF/SVG export, and automation.
DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.
AI Hub for AEC — 50+ 3D formats, clash detection, ACC integration via Autodesk Platform Services.
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server for AI-driven CAD operations, enabling parametric modeling, build, inspection, measurement, rendering, and diff comparison with STEP, DXF, and GLB export.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI/natural-language-driven 2D drafting automation on a running Windows AutoCAD, exposing drawing, dimensioning, layer/block management, and mechanical drawing tools such as title blocks, BOM, and balloons to any MCP client.156 PyPIMIT
- FlicenseBqualityAmaintenanceNatural-language MCP bridge for AutoCAD 2024. Enables users to inspect and edit DWG drawings, manage layers, entities, layouts, styles, and system variables; draw 2D geometry and 3D solids; perform measurements and transactional edits; and export to DWG, STL, PDF, DWF, SVG, or raster formats through a local named-pipe connection.211-
- AlicenseAqualityBmaintenanceEnables an AI assistant to conversationally control Autodesk AutoCAD, drawing, inspecting, and editing plans, and includes a cross-platform DXF engine that runs without AutoCAD on macOS and Linux. It exposes tools for rendering views as images, batching geometry, blocks, and structures, measuring and checking plans, and undoing whole batches.12MIT