io.github.sandraschi/qcad-mcp

Official registry Other

QCAD 2D CAD automation: DXF/DWG floor plans to SVG and STL, via MCP tools and REST

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

MCPB package https://github.com/sandraschi/qcad-mcp/releases/download/v0.5.0/qcad-mcp-v0.5.0.mcpb

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. QCAD MCP
  2. MCP Tools
  3. Fleet Crossconnects (Companions)
  4. CAD Depot (Persistent File Storage)
  5. REST API
  6. Webapp Pages
  7. Quick Start
  8. Install (Claude Desktop, Windows)
  9. MCP Client Config
  10. Raster → DXF Pipeline (Planned)
  11. QCAD Pro Pricing — €50? Really?
  12. Quality Stack
  13. License

QCAD MCP

AI-driven 2D CAD automation — DXF/DWG parsing, 3D extrusion, persistent file depot, room analysis, and full CRUD management. 12 MCP tools (8 portmanteaus + 4 Prefab cards) 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 toezdxf (free Python engine) for all parsing + rendering + extrusion + analysis
PortsBackend 11966, Dashboard 11967
Startjust bootstrap then start.ps1

MCP Tools

v0.5.0 portmanteau surface: each tool takes an op discriminator plus the op's parameters (old per-op names survive only as webapp-internal aliases).

ToolAccessPurpose
planREAD/MUTATECore ezdxf ops: info, to_svg, extrude, stack, obj, glb, drawings, export, analyse, create, depot
plan_editMUTATEconvert (DWG↔DXF via QCAD Pro), modify (layers/entities)
plan_annotateREAD/MUTATEdimension, measure, text, hatch, block_insert, array, wall_data, beam_analysis
plan_proMUTATEQCAD Pro: script, render, exec (ECMAScript)
plan_libraryREAD/MUTATEblocks, blocks_download, scripts_search, scripts_download
plan_aiMUTATEgenerate (NL floor plan), agentic (NL workflow), transpile (AutoLISP), sampling (host LLM reason)
plan_bimREAD/MUTATEauto_dimension, building_meta, to_ifc_data (BIM handoff)
qcadREADstatus (QCAD Pro install), help (live catalog), shutdown (orderly exit)
show_qcad_status_cardREADPrefab card: QCAD Pro status
show_depot_cardREADPrefab card: depot files
show_beam_analysis_cardREADPrefab card: beam FEA results
show_building_meta_cardREADPrefab card: building metadata

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 ServerFeature UnlockedStatusSetup
blender-mcp3d-scene-extrusion, render-dxf-layoutsOptionalInstall Guide
freecad-mcp2d-draft-to-parametric-3dOptionalInstall Guide

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:

EndpointMethodDescription
/api/v1/depotGETList all files with metadata (size, dates, description, tags)
/api/v1/depot/{name}GETDownload a DXF file
/api/v1/depot/{name}PUTRename or update description/tags
/api/v1/depot/{name}DELETERemove file + metadata sidecar
/api/v1/depot/createPOSTCreate DXF from JSON entity spec (line, rect, circle, text, polyline)
/api/v1/depot/uploadPOSTUpload DXF/DWG directly to depot

REST API

EndpointMethodDescription
/api/v1/statusGETServer health, ezdxf version, QCAD Pro status
/api/v1/uploadPOSTUpload DXF/DWG (also saved to depot)
/api/v1/download/{name}GETDownload SVG/STL/PDF/PNG outputs
/api/v1/filesGETList all files (depot + outputs)
/api/v1/depot/*GET/PUT/DELETEFull CRUD on the persistent CAD depot
/api/v1/control/toolPOSTExecute any MCP tool
/api/v1/logs/streamGETSSE live log stream
/api/v1/chatPOSTChat with CAD expert via Ollama
/api/v1/settingsGET/PUTLLM + extrusion defaults + QCAD Pro path

Webapp Pages

RoutePageDescription
/DashboardHero banner, QCAD Pro status panel, depot stats, ezdxf version
/demoAI CAD DemoNL → floor plan → SVG → 3D STL. Preset cards, pipeline stepper, tabbed results
/chatChatStreaming LLM chat, skill-first, 6 personalities, history, export
/inboxInboxNew-file review queue with inline preview and Viewer links
/toolsToolsPortmanteau catalog with op chips + Playground deep-links
/skillsSkillsSkill browser (same files the Chat uses as system prompt)
/depotDepotFull CRUD file browser with SVG preview, create DXF wizard, upload, rename, delete
/viewerViewerDXF upload + SVG preview with per-layer toggle
/extrudeExtrudeDXF → STL with wall height/thickness/wall-layer controls
/analyseAnalyseRoom detection, area table, door/window list
/layersLayersLayer visibility, freeze/lock, rename, bulk operations
/blocksBlocksSearch 4800+ CAD blocks from library with download
/scriptsScriptsBrowse QCAD ECMAScript scripts gallery + save local scripts
/agenticAI AgentAutonomous multi-step CAD workflow (QCAD Pro)
/batchBatchRun info/analysis/extrude across all depot files. STL batch extrude with gallery
/pipelinePipeline5-step wizard: describe → SVG → analyse → STL → FreeCAD wall data export
/playgroundPlaygroundTool API tester: select any tool, edit JSON args, execute, view raw response
/modelsModelsUploads vs outputs listing with download
/logsLogsLive SSE log viewer with filter/export/pause
/settingsSettingsLLM provider/model, extrusion defaults, QCAD Pro path
/helpHelp10-tabbed reference: QCAD, ezdxf, tools, pipeline, formats, fleet
docs/floorplan-sources.md—Free, paid, and historic floorplan sources + raster→DXF pipeline

Quick Start

just bootstrap   # uv sync + bun install
start.ps1        # kills zombies, starts backend + frontend, opens browser

Install (Claude Desktop, Windows)

irm https://github.com/sandraschi/qcad-mcp/releases/latest/download/install.ps1 | iex

Installs 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_edit(op="modify"))
                         ↓
                    Clean up in QCAD / plan_edit(op="modify")
StepToolWhat it does
ScanAny scanner300-600 DPI, grayscale or B&W, save as PNG/TIFF
Vectorizeinkscape-mcp trace_bitmap() or potrace CLIConverts raster lines to SVG paths
ConvertSVG → DXF (via potrace or ezdxf)Opens in any CAD program
Cleanqcad-mcp plan_edit(op="modify")Merge short segments, delete stray marks, re-layer, re-dimension

Two approaches:

  1. 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.
  2. 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_edit(op="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:

ProductPriceMarket
Community EditionFree (GPLv3)Hobbyists, students, tinkerers
QCAD Professional€50.40Individual professionals, small firms
QCAD Pro Site License€440.40Companies (unlimited seats, single site)
QCAD Pro Server License€583.20Self-hosted deployment
QCAD Pro Scalable Server€1,771.20Enterprise-scale
QCAD/CAM (CNC add-on)€132.00Manufacturing
QCAD/CAM Site License€1,173.60CNC shops
Books / E-Books€40–42 eachDocumentation, passive income

The strategy is open-core freemium with enterprise site-license extraction:

  1. 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.
  2. €50 individual is friction-free "impulse buy" pricing — no PO approval needed, no vendor negotiation. You just buy it.
  3. 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.
  4. QCAD/CAM at €132 captures the CNC/manufacturing niche — a separate, higher-value market.
  5. 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 (0 errors) — src/ + run_server.py
  • Frontend: Biome + tsc --noEmit + bun lockfile — 22 TypeScript pages
  • Protocol: FastMCP 3.4 (stdio + HTTP /mcp) + 40 REST routes
  • Tools: 12 MCP tools (8 portmanteaus + 4 Prefab cards) with READ_ONLY/MUTATING annotations
  • Automation: Justfile recipes for all fleet operations
  • Tests: pytest (78+) + Playwright e2e specs

License

MIT — see LICENSE.

Frequently asked questions

What is io.github.sandraschi/qcad-mcp?

QCAD 2D CAD automation: DXF/DWG floor plans to SVG and STL, via MCP tools and REST

How do I install io.github.sandraschi/qcad-mcp?

Follow the installation steps in its documentation, shown on this page and in its repository.

Does io.github.sandraschi/qcad-mcp need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.sandraschi/qcad-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.sandraschi/qcad-mcp?

It is published by sandraschi. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.