neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
fastmcp 3.4 서버와 웹앱을 qcad pro 건축 CAD에 제공
fastmcp 3.4 server plus webapp for qcad pro architectural cad
개발 도구Python · TypeScriptGitHub @sandraschi직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
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. [README 설치·사용 부분 발췌] Quick StartREADME 전문 보기 ↗
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 |
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 |
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.
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. 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 |
just bootstrap # uv sync + bun install
start.ps1 # kills zombies, starts backend + frontend, opens browser
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"]
}
}
}
{
"mcpServers": {
"qcad": {
"url": "http://localhost:11966/sse",
"transport": "sse"
}
}
}
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:
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_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 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:
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.
src/ + run_server.pytsc --noEmit + bun lockfile — 22 TypeScript pages/mcp) + 40 REST routesMIT — see LICENSE.
| 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 |