Skip to main content
Glama
Crazay247

autocad-arch-mcp

by Crazay247
README.md
# autocad-arch-mcp

Architectural MCP for **AutoCAD 2021** + **YQArch** (NBC Standard) — hybrid `dotnet` + `file_ipc` + `com` + `ezdxf`.

Spec: `docs/superpowers/specs/2026-08-24-autocad-arch-mcp-design.md`  
Knowledge: `knowledge/master_knowledge.md` + `knowledge/*.json|yaml`

## Prereqs

- Windows 10/11, AutoCAD 2021 Full (R24.0) at `D:\SOFTWARES\Autocad 2021\AutoCAD 2021\`
- YQArch at `D:\SOFTWARES\YQArch` (or `C:\Autodesk\...YQArch`)
- Python 3.10+ Windows native, `uv` ([install](https://docs.astral.sh/uv/getting-started/installation/))

## Install

```powershell
cd "D:\6) Obsidian\AI Workspace\Tools\autocad-arch-mcp"
uv sync
```

## Load in AutoCAD

1. `APPLOAD` → `lisp-code/mcp_arch_dispatch.lsp` → `=== MCP Arch Dispatch v1 loaded ===`
2. `NETLOAD` → `dotnet/AutocadArch.dll`
3. Add both to Startup Suite.

## MCP config (opencode)

See spec §8 `autocad-arch` snippet.

## Knowledge

Run `uv run python -c "import json, jsonschema; ..."` to validate. Phase -1 gate: `knowledge/yqarch_compat_matrix.csv` must be produced before wrappers.

## Dev

```powershell
uv run pytest tests/ -v
uv run pytest -m "not e2e" -v
```

TDQS

C2.9/5.0

Scored across 14 tools

Disambiguation3/5

Most nbc_* tools map cleanly to a specific resource, but nbc_drawing and nbc_system both claim purge/plot_pdf/get_variables, making those operations ambiguous. nbc_generate also overlaps conceptually with nbc_drawing's create operation, adding selection risk.

Naming Consistency4/5

The nbc_<domain> prefix dominates and all names use consistent snake_case, so the overall pattern is predictable. hama_gold and nbc_generate break the pattern, with nbc_generate being an action rather than a resource name.

Tool Count4/5

14 tools is within the ideal range and each major architectural resource area has a dedicated tool. The redundancy between nbc_drawing and nbc_system plus the loosely related hama_gold toolkit makes it slightly heavier than strictly necessary.

Completeness4/5

The tool surface covers drawing management, architectural elements, dimensions, sections, layers, blocks, views, PDF output, and full drawing generation. Wall/opening updates and deletions are not first-class, but generic entity operations and execute_lisp provide workarounds.

Maintenance

ActivitySlowing
ResponsivenessNo issues