Qcad Mcp

io.github.sandraschi由 GitHub 帳號 sandraschi 發布v0.5.0更新於 Oct 24, 2026

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

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理解析、轉換、標註 2D CAD 平面圖(DXF/DWG),並輸出 SVG、STL 與 BIM 資料。

可以做什麼
  • 檢查、轉換與匯出圖面:DXF 資訊、SVG 算圖、DWG/DXF 互轉、GLB/STL 擠出與堆疊
  • 編輯與標註平面圖:圖層與物件、尺寸、測量、文字、填充、圖塊、陣列、牆體資料
  • 執行 QCAD Pro 操作:ECMAScript 腳本、算圖與指令執行
  • 生成與分析:以自然語言生成平面圖、房間與面積分析、樑分析、建築中繼資料與 IFC 交接
  • 管理持久化 CAD 倉庫:列出、上傳、建立、重新命名、加標籤與刪除檔案,以及狀態與說明卡片
適用情境
適合讓助理以程式化方式處理平面圖、把 DXF 圖面轉成可用於 Unity 或 Resonite 等引擎的 3D 模型、維護長期保存的 CAD 檔案庫,或自動化重複的製圖與標註工作。
執行需求
以本機程序方式執行,僅限 Windows 桌面,可透過隨附的 mcpb 套件、uv 或本機服務(連接埠 11966 與 11967)啟動。解析使用免費的 ezdxf Python 引擎;DWG 轉換、腳本與算圖需要另行授權的 QCAD Professional 安裝。倉庫路徑可用 QCAD_MCP_DEPOT 環境變數設定。
安裝前請注意
許多工具標記為 MUTATE:會建立、修改、重新命名或刪除倉庫中的檔案,並可透過 QCAD Pro 執行任意 ECMAScript,核准前請確認變更。QCAD Professional 為付費授權(約每人 50 歐元,站點或伺服器授權更貴)。選用的聊天功能會把內容送到本機 Ollama 模型,設定中也可改用其他 LLM 供應商。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Qcad Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

QCAD MCP

[Just] [Ruff] [Python] [Biome] [FastMCP]

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

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

Install (Claude Desktop, Windows)

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

json
{  "mcpServers": {    "qcad-mcp": {      "command": "uv",      "args": ["run", "--directory", "D:\\Dev\\repos\\qcad-mcp", "run_server.py"]    }  }}

MCP Client Config

json
{  "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.

來源:README.md,提交 b8eb4e9

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

2
  1. v0.5.0最新Oct 22, 2026
  2. v0.3.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分