warehouse-cad-agent

warehouse-cad-agent

Enables traceable warehouse CAD round trips and bounded Agent-to-AutoCAD MCP tools for auditing, editing, and rebuilding CAD models.

Category
Visit Server

README

warehouse-cad-agent

warehouse-cad-agent is a Windows-first Codex Plugin and Python engine for traceable warehouse CAD round trips:

  1. audit every model-space entity in a declared DXF, or in a DWG whose read-DXF conversion has a matching hash receipt;
  2. separate visible equipment from structure without silently accepting unresolved candidates;
  3. write one self-contained Markdown equipment ledger;
  4. rebuild editable 2D CAD from only the blank CAD and that ledger;
  5. create evidence-limited portable 3D, and native AutoCAD 3DSOLID when complete source-backed footprint, height, and elevation evidence exists;
  6. let an Agent inspect and edit an automatically-created AutoCAD work copy through five bounded MCP tools.

The project deliberately does not infer missing device identity, height, elevation, flow direction, ports, or manufacturer geometry. A protocol handshake, screenshot, file-exists check, or output-selected count is not treated as proof that a requested CAD artifact is complete.

Public/private split

This repository contains only the generic engine, Plugin, Skill, MCP bridge, synthetic fixtures, and verification code. Customer drawings, customer names, source hashes, private classification profiles, and delivery evidence belong in a separate private integration repository.

Quick start on Windows

Requirements: Python 3.11+, and optionally full AutoCAD with COM automation for live editing and native DWG solids. Autodesk DWG TrueView is not a writable AutoCAD runtime.

Managed AutoCAD opens temporarily use DWGCHECK=0 only around Documents.Open, wait until AutoCAD is quiescent after the open, then restore and verify the exact prior value. This suppresses only the non-Autodesk-producer warning while preserving AutoCAD's corruption-error dialog; it does not declare the drawing valid.

Live review-note creation never retries the non-idempotent AddText call. If AutoCAD reports a call failure after creating something, the bridge uses a pre-write model-space handle snapshot plus type, insertion, and height to recover only one uniquely attributable new text entity. The note, its layer, and its registered application belong to one undo transaction. Known fields are each written at most once and read back. If an incomplete result changed the handle/layer/registered-application snapshot, the bridge requests one undo and verifies all three sets; if the snapshot never changed, it does not undo or claim a rollback. Any unproved recovery preserves the managed work copy with a structured partial-edit error.

Saved/closed/reopened acceptance can use a fresh Agent-launched AutoCAD process. The shutdown session action is fail-closed: it requires no managed session, no control drawing, zero open documents, and confirmed exit of the exact process bound to the application window. Its optional force_if_graceful_timeout=true fallback is limited to that Agent-launched process: after one graceful Application.Quit times out, the bridge must reconfirm that AutoCAD is idle with zero documents before terminating the already-bound Windows process handle once. It never quits or terminates an AutoCAD application that the Agent merely attached to.

py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
.\.venv\Scripts\warehouse-cad-agent doctor
.\.venv\Scripts\python.exe examples\synthetic\make_fixture.py
.\.venv\Scripts\warehouse-cad-agent roundtrip examples\synthetic\project.yaml

The Codex repo marketplace manifest is .agents/plugins/marketplace.json. Register the cloned repository as a local marketplace, install the plugin, then start a new Codex thread:

git clone https://github.com/X-isdoingreat/warehouse-cad-agent.git
Set-Location warehouse-cad-agent
codex plugin marketplace add .
codex plugin add warehouse-cad-agent@warehouse-cad-agent

Invoke $warehouse-cad-agent in that new thread. The marketplace uses ON_USE authentication: approve the first local MCP use interactively. A non-interactive session configured with approval=never will discover the five tools but must refuse the call unless that invocation is explicitly authorized.

project.yaml is the run allowlist. A distinct source.read_dxf must include source.read_conversion_receipt; unresolved objects may be classified only through a bound source.resolution.inventory plus source.resolution.ledger. The product audit enumerates the file, but it is not an independent customer-acceptance denominator by itself.

Blank CAD and Markdown are not treated as interchangeable valid files: the blank carries an embedded project/source binding, the Markdown ledger also binds the exact blank-file SHA-256, and every rebuild rejects a mismatched or modified pair before writing output. Customer adapters that emit native-solid specs use the same exact-blank rule and keep the prior source-ledger acceptance target separate from the current native-CAD product target.

Current verification limit

The synthetic blank + Markdown + isolated 2D + portable 3D path and a fresh Codex/MCP doctor call have been exercised locally. On one exact synthetic DWG, the installed Plugin has also passed real AutoCAD 2027 Trial create/query/rollback/save plus fresh-process reopen reconciliation. One exact, privately held, hash-bound warehouse DWG + equipment-ledger source set has additionally passed native 3DSOLID generation, final-DWG save, version-matched ObjectDBX reopen, record-level Agent identity/geometry reconciliation, and final-structure reconciliation in real AutoCAD 2027 Trial. These are narrow source-set results, not an arbitrary-DWG, manufacturer-model, BIM, or production-readiness claim. doctor distinguishes an installed/active full-AutoCAD identity from a process currently idle enough to accept automation; it does not infer a paid or trial entitlement. When a native-solid specification remains bound to a source blank DXF, AutoCAD opens only a separately supplied runtime DWG whose conversion receipt binds both hashes and proves a zero-mismatch streaming DXF→DWG→DXF structure comparison. TrueView does not satisfy that gate.

Product boundary

See docs/PRODUCT_BOUNDARY.md before making capability claims. The portable DXF 3D is an audit derivative; a native engineering 3D master is a DWG containing reopened, measurable 3DSOLID objects produced by full AutoCAD from source-backed evidence.

License and attribution

Apache-2.0. The COM/MCP design was informed by the Apache-2.0 multiCAD-mcp project; see NOTICE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured