Skip to main content
Glama
rl4yt
by rl4yt
README.md
# AutoCAD MCP · L4 Engenharia

Conector que liga o Claude (ou outro cliente MCP) ao **AutoCAD 2024+** no Windows. Você pergunta pelo chat da IA, ele vai no desenho aberto e responde: conta blocos, lista layers, lê xrefs, cria layers, mede geometria.

**Baseado em [puran-water/autocad-mcp](https://github.com/puran-water/autocad-mcp)** (licença MIT, mantida neste repositório). Adaptações da L4:

- **Reconexão automática** quando o AutoCAD é reiniciado (o original guardava o handle da janela antiga e dava timeout silencioso). Ver `backends/file_ipc.py`, método `_dispatch`.
- **Auto-load do LISP** em todo desenho via `acaddoc.lsp` (sem `APPLOAD` manual). Template em `install/acaddoc.lsp.template`.
- **Instalação guiada em português** por prompt, em `install/INSTALAR.md`.

Página com vídeo e passo a passo: **https://gestaol4.vercel.app/autocad**

## Requisitos

- Windows 10/11. Não funciona no Mac (AutoCAD LT Mac não tem AutoLISP; backend usa Win32).
- AutoCAD 2024 ou mais novo, full ou LT.
- Python 3.10 a 3.12.
- Um cliente MCP: Claude Desktop (aba Code), Claude Code ou Codex (OpenAI).

## Instalação rápida

1. Baixe o zip em [Releases](https://github.com/rl4yt/autocad-mcp/releases/latest) ou clone este repo para `C:\Users\<user>\autocad-mcp`.
2. Abra a pasta no assistente (Claude Desktop, aba Code, ou Codex) e cole o prompt de `install/INSTALAR.md`. Ele faz `uv sync`, registra o servidor `autocad`, cria o `acaddoc.lsp` e testa.
3. Abra um DWG. No aviso de segurança do AutoCAD, clique **Always Load** (só na primeira vez).

Instalação manual (sem assistente):

```powershell
cd C:\Users\<user>\autocad-mcp
pip install uv
uv sync --python 3.12
# Claude
claude mcp add autocad --scope user --env AUTOCAD_MCP_BACKEND=auto -- .\.venv\Scripts\python.exe -m autocad_mcp
# Codex
codex mcp add autocad --env AUTOCAD_MCP_BACKEND=auto -- .\.venv\Scripts\python.exe -m autocad_mcp
```

Codex instalado pela Microsoft Store não expõe o comando `codex`. Nesse caso, acrescente em `%USERPROFILE%\.codex\config.toml` e reinicie o app:

```toml
[mcp_servers.autocad]
command = "C:/Users/<user>/autocad-mcp/.venv/Scripts/python.exe"
args = ["-m", "autocad_mcp"]
env = { AUTOCAD_MCP_BACKEND = "auto" }
```

Depois copie `install/acaddoc.lsp.template` para `%APPDATA%\Autodesk\AutoCAD <versão>\R<xx>\enu\Support\acaddoc.lsp`, trocando `__REPO__` pelo caminho da pasta com barras normais (`C:/Users/<user>/autocad-mcp`).

## Como funciona

8 tools MCP (`drawing`, `entity`, `layer`, `block`, `annotation`, `pid`, `view`, `system`) sobre stdio. No Windows com AutoCAD aberto, o backend `file_ipc` escreve um JSON em `C:\temp`, digita `(c:mcp-dispatch)` na linha de comando via Win32 (sem roubar foco) e o `lisp-code/mcp_dispatch.lsp` responde em outro JSON. Sem AutoCAD aberto, cai no backend `ezdxf` (headless, gera DXF).

Geometria dentro de xrefs exige entrar na definição de bloco via AutoLISP (`system` → `execute_lisp`). Visual LISP COM está disponível no AutoCAD full para bounding boxes.

## Problemas comuns

| Sintoma | Causa | Fix |
|---|---|---|
| `Timeout waiting for result` | AutoCAD fechado, ou linha de comando ocupada | Esc duas vezes; conferir se o DWG está aberto |
| Linha de comando não mostra `[autocad-mcp] ... carregado` | `acaddoc.lsp` não instalado ou "Do Not Load" clicado | `APPLOAD` → `lisp-code\mcp_dispatch.lsp`, ou reinstalar o acaddoc |
| Backend `ezdxf` em vez de `file_ipc` | Janela do AutoCAD não encontrada | Abrir o AutoCAD antes do cliente MCP, ou `system` → `init` |

## E no Revit?

Este conector lê e conta no AutoCAD. Para **modelar, parametrizar e quantificar no Revit**, a L4 mantém o **John**: Parts por camada, parâmetros EAP em massa, tabelas de quantitativo, cota corrida, diagnóstico do modelo. Mesmo assistente, mesma forma de pedir.

→ **https://gestaol4.vercel.app/john**

## Licença

MIT. Copyright original de *AutoCAD MCP Server Contributors*; adaptações © L4 Engenharia. Texto completo em `LICENSE`.

README original do projeto upstream: `README_upstream.md`.