Skip to main content
Glama

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 to

ezdxf (free Python engine) for all parsing + rendering + extrusion + analysis

Ports

Backend 11966, Dashboard 11967

Start

just 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).

Tool

Access

Purpose

plan

READ/MUTATE

Core ezdxf ops: info, to_svg, extrude, stack, obj, glb, drawings, export, analyse, create, depot

plan_edit

MUTATE

convert (DWG↔DXF via QCAD Pro), modify (layers/entities)

plan_annotate

READ/MUTATE

dimension, measure, text, hatch, block_insert, array, wall_data, beam_analysis

plan_pro

MUTATE

QCAD Pro: script, render, exec (ECMAScript)

plan_library

READ/MUTATE

blocks, blocks_download, scripts_search, scripts_download

plan_ai

MUTATE

generate (NL floor plan), agentic (NL workflow), transpile (AutoLISP), sampling (host LLM reason)

plan_bim

READ/MUTATE

auto_dimension, building_meta, to_ifc_data (BIM handoff)

qcad

READ

status (QCAD Pro install), help (live catalog), shutdown (orderly exit)

show_qcad_status_card

READ

Prefab card: QCAD Pro status

show_depot_card

READ

Prefab card: depot files

show_beam_analysis_card

READ

Prefab card: beam FEA results

show_building_meta_card

READ

Prefab card: building metadata

Related MCP server: multiCAD-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

blender-mcp

3d-scene-extrusion, render-dxf-layouts

Optional

Install Guide

freecad-mcp

2d-draft-to-parametric-3d

Optional

Install 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:

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, QCAD Pro status panel, depot stats, ezdxf version

/demo

AI CAD Demo

NL → floor plan → SVG → 3D STL. Preset cards, pipeline stepper, tabbed results

/chat

Chat

Streaming LLM chat, skill-first, 6 personalities, history, export

/inbox

Inbox

New-file review queue with inline preview and Viewer links

/tools

Tools

Portmanteau catalog with op chips + Playground deep-links

/skills

Skills

Skill browser (same files the Chat uses as system prompt)

/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

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")

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_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:

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:

  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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables 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.
    12
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to control supported CAD applications through natural-language instructions and unified MCP tools for drawing, layers, blocks, entities, files, and data export.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to control CAD applications like AutoCAD, ZWCAD, GstarCAD, and BricsCAD through natural language or direct tool calls. Supports drawing, layer and entity management, block operations, data export, and file handling via 7 unified MCP tools covering 56 CAD commands.
    -
  • F
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to draw, edit, inspect, and manage CAD drawings through a consistent API, either headlessly without a CAD installation or by driving a live Windows session. It supports documents, layers, entities, transforms, hatching, dimensions, blocks, architectural workflow tools, and optional previews.
    43
    -