Skip to main content
Glama
ling5477

CAD-MAX

by ling5477

CAD-MAX

CAD-MAX is a safety-first foundation for connecting an MCP client to AutoCAD through a Python MCP server and a localhost C# bridge.

Current version: 0.1.0. Phase 0 repository bootstrap is complete. Phase 1 is active; its plan/governance batch is accepted, and the plugin-bootstrap batch has not started.

Project governance / 项目治理

当前 Phase、下一允许动作和安全能力状态以 current status 顶部的 cad-max-current-authority 区块为唯一 authority。事实源职责、文档预算、验证证据和 CI 生命周期见 current docs。任何 CI 绿色都不表示真实 AutoCAD 或 DWG 能力已实现。

Related MCP server: civil3d-mcp

Current real completion

Implemented now:

  • Python 3.12 package cad-max-mcp with stdio and Streamable HTTP transports.

  • MCP tools cad_system for health, version, and capabilities.

  • MCP tool drawing with the read-only status operation.

  • NullCadBackend for machines without AutoCAD.

  • AutoCadBridgeBackend with bounded localhost HTTP calls and structured failures.

  • Shared versioned JSON contracts and matching Python/C# models.

  • .NET 8 bridge dispatcher, localhost development Host, and test suite.

  • A compilable net8.0-windows AutoCAD plugin boundary with no Autodesk references.

  • Read-only, write-disabled, script-disabled, loopback-only defaults.

Not implemented:

  • Real AutoCAD attachment.

  • Reading a live drawing.

  • Creating, modifying, saving, exporting, or validating DWG content.

  • Any script, AutoLISP, arbitrary code, write, or remote-network tool.

CAD-MAX does not currently modify DWG files. When no bridge is configured, drawing status returns BACKEND_NOT_CONFIGURED. The development bridge has no AutoCAD command handlers, so an unknown command returns NOT_IMPLEMENTED rather than fake success.

Architecture

MCP client
    |
    | stdio or Streamable HTTP at 127.0.0.1:47771/mcp
    v
Python cad-max-mcp
    |
    | localhost HTTP and versioned JSON
    v
C# CadMax.Bridge.Host at 127.0.0.1:47770
    |
    | future AutoCAD Managed .NET API adapter
    v
AutoCAD 2025 or 2026 plugin
    |
    v
2D DWG document context

Python owns the MCP protocol and client-facing validation. C# will own all future AutoCAD execution because Autodesk's supported managed API, application context, and document context belong inside the AutoCAD process. See Architecture and ADR 0001.

Supported baseline

  • Windows 10 or 11 for the future AutoCAD bridge.

  • Python 3.12.

  • uv.

  • .NET 8 SDK.

  • AutoCAD 2025 or 2026 for future plugin integration.

  • 2D DWG scope only.

AutoCAD 2024, AutoCAD LT, ZWCAD, GstarCAD, Tianzheng, SolidWorks, FreeCAD, 3D modeling, and cloud batch processing are explicitly outside this phase.

Local setup

Install Python 3.12, uv, and the .NET 8 SDK. Then run:

uv sync --frozen
uv run cad-max-mcp doctor

The doctor command emits structured JSON and returns exit code 0 when the safe base configuration is valid.

Start the MCP server

Stdio:

uv run cad-max-mcp serve --transport stdio

Streamable HTTP:

uv run cad-max-mcp serve --transport streamable-http

The HTTP endpoint is http://127.0.0.1:47771/mcp. Configuration rejects 0.0.0.0 and other non-loopback hosts.

PowerShell wrappers are also available:

.\scripts\run-mcp-stdio.ps1
.\scripts\run-mcp-http.ps1

Start the development bridge

The bridge does not require AutoCAD and exposes only health, capabilities, and a fail-closed command dispatcher:

dotnet run --project src/dotnet/CadMax.Bridge.Host

Endpoints:

No CAD command handler is registered in Phase 0.

Test and verify

Python:

uv sync --frozen
uv run ruff check .
uv run ruff format --check .
uv run mypy src/python
uv run pytest

.NET:

dotnet restore src/dotnet/CadMax.sln --locked-mode --configfile NuGet.Config
dotnet build src/dotnet/CadMax.sln --configuration Release --no-restore
dotnet test src/dotnet/CadMax.sln --configuration Release --no-build

Unified PowerShell verification:

.\scripts\verify.ps1

The script stops with a non-zero exit code on the first failed check.

MCP client configuration example

Replace the path with your local checkout:

{
  "mcpServers": {
    "cad-max": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\path\\to\\CAD-MAX",
        "run",
        "cad-max-mcp",
        "serve",
        "--transport",
        "stdio"
      ]
    }
  }
}

More examples are in MCP client setup.

Configuration and safe defaults

Environment variables use the CAD_MAX_ prefix. The committed .env.example contains names and safe example values only. A real .env file is ignored and is not loaded implicitly by the application.

  • readOnly is true.

  • allowWrite is false.

  • allowScript is false.

  • httpHost is 127.0.0.1.

  • allowedRoots is empty.

  • bridgeUrl is unset.

Future file operations must normalize an absolute path and prove it is inside an allowed root. An empty allowlist grants no file access.

Why Autodesk DLLs are not in this repository

AcDbMgd.dll, AcMgd.dll, AcCoreMgd.dll, Autodesk SDK files, and AutoCAD redistributables are proprietary and installation-specific. They must be referenced from a licensed local AutoCAD installation through uncommitted machine-local MSBuild configuration. CI does not install AutoCAD and does not need these DLLs. See AutoCAD SDK setup.

Security warning

CAD automation can alter valuable drawings. Keep the HTTP services on loopback, keep writes and scripts disabled, never expose the development Host through a tunnel, and work on backed-up test drawings when a future write phase is enabled. See Security model.

Roadmap

The ordered delivery plan is in ROADMAP.md. Phase 1 will establish a real AutoCAD 2025/2026 connection and lifecycle boundary without enabling arbitrary DWG editing. The executable read-only scope and numbered work batches are in the Phase 1 AutoCAD Connection plan; that plan does not replace current authority.

License

MIT. See LICENSE.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Production-grade AutoCAD automation server enabling real-time CAD control via COM and headless DXF operations through 87 tools, including drawing creation, entity modification, layer management, and batch processing, designed for AI agent integration via the Model Context Protocol.
    Last updated
    100
    33
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    MCP server that connects an LLM assistant to Autodesk Civil 3D via COM, enabling direct manipulation of surfaces, alignments, COGO points, layers, profiles, and more through natural language.
    Last updated
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for full AutoCAD automation, AutoCAD LT automation, and headless DXF generation. It provides 8 consolidated tools for drawing, entity, layer, block, annotation, P&ID, view, and system operations via MCP stdio transport.
    Last updated
    12
    3
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    An MCP server for read-only inspection of AutoCAD DWG files, enabling AI agents to open drawings, query objects by handle or filter, and explore properties and references.
    Last updated
    6
    GPL 3.0

View all related MCP servers

Related MCP Connectors

  • Local-first RAG engine with MCP server for AI agent integration.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ling5477/CAD-MAX'

If you have feedback or need assistance with the MCP directory API, please join our Discord server