qcad-mcp
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
fastmcp 3.2 server plus webapp for qcad pro architectural cad
QCAD MCP
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 10966, Dashboard 10967 |
| Start | just bootstrap then start.ps1 |
MCP Tools
| 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) |
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 |
|---|---|---|
/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 |
REST API
| 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 |
Webapp Pages
| Route | Page | Description |
|---|---|---|
/ |
Dashboard | Hero banner, depot stats, ezdxf version, QCAD Pro status, quick actions |
/demo |
AI CAD Demo | NL → floor plan → SVG → 3D STL pipeline with 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 MCP tools across all depot files at once |
/pipeline |
Pipeline | FreeCAD BIM chain guide: extrude → solid → BIM → IFC |
/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 |
Quick Start
just bootstrap # uv sync + npm install
start.ps1 # kills zombies, starts backend + frontend, opens browser
MCP Client Config
{
"mcpServers": {
"qcad": {
"url": "http://localhost:10966/sse",
"transport": "sse"
}
}
}
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 — zero errors across 5 MCP tools + depot CRUD
- Frontend: Biome +
tsc— zero errors across 9 TypeScript pages - Protocol: FastMCP 3.2 SSE transport + 10 REST endpoints
- Automation: Justfile recipes for all fleet operations
- AI Protocol: FastMCP 3.2 with SSE transport
License
MIT — see LICENSE.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found