QCAD MCP server - DXF/DWG floor plans to SVG preview + STL extrusion via MCP tools and REST API
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
AI-driven 2D CAD automation β DXF/DWG parsing, 3D extrusion, persistent file depot, room analysis, and full CRUD management. 7 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 | ezdxf (free Python engine) for all parsing + rendering + extrusion + analysis |
| Ports | Backend 11966, Dashboard 11967 |
| Start | just bootstrap then start.ps1 |
| Tool | Access | Purpose |
|---|---|---|
plan_depot | READ | List files in the persistent CAD depot with metadata |
plan_info | READ | DXF metadata: layers, entity counts, bounding box, blocks |
plan_create | MUTATE | Create DXF from primitives (line, rect, circle, text, polyline) |
plan_to_svg | MUTATE | DXF β SVG preview with layer filtering |
plan_extrude | MUTATE | DXF walls β 3D STL mesh (configurable height/thickness) |
plan_export | MUTATE | DXF β SVG/PNG/PDF (ezdxf or QCAD Pro) |
plan_analyse | READ | Room detection, area calculation, door/window identification |
plan_measure | READ | Measure distances and lengths in a DXF |
plan_wall_data | READ | Extract wall segments as BIM-ready JSON (QCAD Pro) |
plan_beam_analysis | READ | 2D beam FEM analysis (numpy, no QCAD needed) |
plan_dimension | MUTATE | Add aligned/linear/angular/radial dimensions (QCAD Pro) |
plan_text | MUTATE | Add text annotations (QCAD Pro) |
plan_hatch | MUTATE | Add hatch patterns (QCAD Pro) |
plan_block_insert | MUTATE | Insert CAD blocks from library (QCAD Pro) |
plan_array | MUTATE | Rectangular/polar array patterns (QCAD Pro) |
plan_convert | MUTATE | Convert between DXF and DWG (QCAD Pro) |
plan_modify | MUTATE | Delete/offset/rename/freeze layers |
plan_script | MUTATE | Execute arbitrary ECMAScript in QCAD Pro |
plan_render | MUTATE | High-fidelity SVG/PDF/BMP render via QCAD Pro |
plan_exec | MUTATE | Quick ECMAScript snippet execution |
plan_blocks | READ | Search 4800+ CAD blocks from part library |
plan_blocks_download | MUTATE | Download a block DXF from library |
plan_scripts_search | READ | Search QCAD ECMAScript scripts gallery |
plan_scripts_download | MUTATE | Download a script from gallery/Gist |
qcad_status | READ | QCAD Pro install/running/version report |
plan_agentic | MUTATE | NL β ECMAScript via AI sampling (MCP only, needs QCAD Pro) |
plan_transpile | MUTATE | AutoLISP β QCAD ECMAScript translation (MCP only, needs QCAD Pro) |
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 |
|---|---|---|
/api/v1/depot | GET | List all files with metadata (size, dates, description, tags) |
/api/v1/depot/{name} | GET | Download a DXF file |
/api/v1/depot/{name} | PUT | Rename or update description/tags |
/api/v1/depot/{name} | DELETE | Remove file + metadata sidecar |
/api/v1/depot/create | POST | Create DXF from JSON entity spec (line, rect, circle, text, polyline) |
/api/v1/depot/upload | POST | Upload DXF/DWG directly to depot |
| Endpoint | Method | Description |
|---|---|---|
/api/v1/status | GET | Server health, ezdxf version, QCAD Pro status |
/api/v1/upload | POST | Upload DXF/DWG (also saved to depot) |
/api/v1/download/{name} | GET | Download SVG/STL/PDF/PNG outputs |
/api/v1/files | GET | List all files (depot + outputs) |
/api/v1/depot/* | GET/PUT/DELETE | Full CRUD on the persistent CAD depot |
/api/v1/control/tool | POST | Execute any MCP tool |
/api/v1/logs/stream | GET | SSE live log stream |
/api/v1/chat | POST | Chat with CAD expert via Ollama |
/api/v1/settings | GET/PUT | LLM + extrusion defaults + QCAD Pro path |
| Route | Page | Description |
|---|---|---|
/ | Dashboard | Hero banner, QCAD Pro status panel, depot stats, ezdxf version |
/demo | AI CAD Demo | NL β floor plan β SVG β 3D STL. Baroque church, mob compound, art museum presets |
/depot | Depot | Full CRUD file browser with SVG preview, create DXF wizard, upload, rename, delete |
/viewer | Viewer | DXF upload + SVG preview with per-layer toggle |
/extrude | Extrude | DXF β STL with wall height/thickness/wall-layer controls |
/analyse | Analyse | Room detection, area table, door/window list |
/layers | Layers | Layer visibility, freeze/lock, rename, bulk operations |
/blocks | Blocks | Search 4800+ CAD blocks from library with download |
/scripts | Scripts | Browse QCAD ECMAScript scripts gallery + save local scripts |
/agentic | AI Agent | Autonomous multi-step CAD workflow (QCAD Pro) |
/batch | Batch | Run info/analysis/extrude across all depot files. STL batch extrude with gallery |
/pipeline | Pipeline | 5-step wizard: describe β SVG β analyse β STL β FreeCAD wall data export |
/playground | Playground | Tool API tester: select any tool, edit JSON args, execute, view raw response |
/models | Models | Uploads vs outputs listing with download |
/logs | Logs | Live SSE log viewer with filter/export/pause |
/settings | Settings | LLM provider/model, extrusion defaults, QCAD Pro path |
/help | Help | 10-tabbed reference: QCAD, ezdxf, tools, pipeline, formats, fleet |
docs/floorplan-sources.md | β | Free, paid, and historic floorplan sources + rasterβDXF pipeline |
Scanning a floorplan print into a working DXF is straightforward:
| Step | Tool | What it does |
|---|---|---|
| Scan | Any scanner | 300-600 DPI, grayscale or B&W, save as PNG/TIFF |
| Vectorize | inkscape-mcp trace_bitmap() or potrace CLI | Converts raster lines to SVG paths |
| Convert | SVG β DXF (via potrace or ezdxf) | Opens in any CAD program |
| Clean | qcad-mcp plan_modify | Merge short segments, delete stray marks, re-layer, re-dimension |
Two approaches:
trace_bitmap() tool, get back SVG with proper path geometry. The SVG imports cleanly into QCAD as workable entities.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 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:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/qcad-mcp)<a href="https://allmcps.com/mcp/qcad-mcp"><img src="https://allmcps.com/api/badge/qcad-mcp?style=directory" alt="Qcad MCP on AllMCPs" /></a>