Skip to main content
Glama
cadcraft-electrical-mcp

cadcraft-electrical-mcp

cadcraft-electrical-mcp

Servidor MCP para generar planos eléctricos industriales con Claude y CADCraft.

Describe tu máquina en lenguaje natural ("PLC S7-1200, HMI KTP400, switch Balluff, 4 electroválvulas SMC, gabinete Spacial 500×400...") y Claude produce el juego completo de planos:

  • Esquemas eléctricos: portada con índice, potencia AC, control y distribución 24 VDC con referencias cruzadas y espejo de contactos, y hojas de E/S del PLC.

  • Layout de gabinete y platina: a escala 1:1 en un DXF de fabricación (con perforaciones y cotas) y a escala reducida en el juego de planos. Usa tus modelos 2D reales del fabricante.

  • Red PROFINET / Ethernet / IO-Link: topología con puertos y cables.

  • Plano de borneras, BOM, lista de cables, lista de E/S y lista de red en XLSX/CSV.

  • Validación normativa: designaciones, conflictos de E/S y de puertos, referencias cruzadas, espacio de reserva y encimamientos en la platina.

Todo cumple un perfil normativo configurable:

  • IEC: IEC 81346, 60617, 61082-1 y 60204-1.

  • IEC legado: códigos de una letra (-K/-F/-Q).

  • NFPA 79: escalera horizontal JIC/ANSI.

Los planos se generan como DXF y CADCraft los publica en PDF multipágina, PNG y DWG, y los puede abrir en vivo en la aplicación de escritorio.

Las funcionalidades traen ejemplos de instrucciones, la arquitectura incluye una guía de "si falla X, revisa Y", y hay una página con las normas y la configuración.


Cómo funciona

Claude ──MCP (stdio)──> cadcraft-elec-mcp
                          │ proyecto .elec.yaml (fuente de verdad, versionable en git)
                          │ → generadores → DXF determinista (ezdxf)
                          └──> CADCraft: cadcraft-cli (PDF / PNG / DWG / DWG→DXF)
                                         cadcraft --control 7979 (abrir en la app viva)
  • CADCraft ya trae su propio MCP genérico (cadcraft-cli mcp) con primitivas de dibujo.

  • Este servidor agrega la capa eléctrica que CADCraft no tiene: dispositivos, potenciales, bornes, E/S, cables, símbolos IEC/NFPA, cajetín, normas y validación.

  • El dibujo se hace en Python (ezdxf) en lugar de comando por comando en CADCraft (pre-alfa). Así el resultado es reproducible y probado, y CADCraft se usa para lo que hace mejor: renderizar, publicar y visualizar.

Related MCP server: THE_Studio5000_AI_Assistant_V35

Requisitos

  • Windows 10/11.

  • CADCraft 0.18 o superior (cadcraft-0.18.0-windows-x64.msi).

  • Una de estas dos opciones:

    • el ejecutable cadcraft-elec-mcp.exe de la página de Releases (no requiere Python);

    • Python 3.11 o superior (con uv o pipx).

Instalación para el equipo

Opción A: script automático (recomendada)

git clone https://github.com/alfresonico666/cadcraft-electrical-mcp
cd cadcraft-electrical-mcp
powershell -ExecutionPolicy Bypass -File scripts\install.ps1

El script:

  1. Crea un entorno en %LOCALAPPDATA%\cadcraft-elec-mcp e instala el paquete.

  2. Registra el servidor en Claude Code (alcance de usuario) y en Claude Desktop.

  3. Opcionalmente registra también el MCP nativo de CADCraft (-WithCadcraftMcp).

Al final ejecuta doctor para comprobar que todo responde.

Opción B: manual

# con uv
uv tool install git+https://github.com/alfresonico666/cadcraft-electrical-mcp
# o con pipx
pipx install git+https://github.com/alfresonico666/cadcraft-electrical-mcp

cadcraft-elec-mcp doctor            # verifica CADCraft y la configuración
claude mcp add --scope user cadcraft-elec -- cadcraft-elec-mcp

En Claude Desktop, agrega esto a %APPDATA%\Claude\claude_desktop_config.json:

{ "mcpServers": { "cadcraft-elec": { "command": "cadcraft-elec-mcp", "args": [] } } }

Con el .exe de Releases, usa la ruta completa del ejecutable como command.

Uso rápido

En Claude Code o Claude Desktop:

Crea el proyecto 26HA076 "Máquina LVDT" para un cliente automotriz con perfil IEC. Agrega un S7-1200 1214C DC/DC/DC, una HMI KTP400, una fuente de 24 VDC 10 A con su magnetotérmico, 4 electroválvulas SMC SY7320 en las salidas Q0.0–Q0.3 y 4 sensores inductivos en I0.0–I0.3 pasando por la bornera -XD3. Genera las hojas de potencia, 24 VDC, E/S y red, configura el gabinete NSYCRN54250P, valida y construye el PDF. Muéstrame la hoja de E/S.

Claude seguirá este flujo:

  1. project_create

  2. library_search y device_add

  3. sheet_add

  4. plc_io_assign y terminals_assign_io

  5. network_link

  6. cabinet_configure

  7. validate y build

  8. sheet_preview

Los archivos quedan en Documentos\CadElec\<proyecto>\output\:

Archivo

Contenido

<código> - Planos Electricos.dxf / .pdf / .dwg

juego completo de hojas

<código> - Platina Electrica.dxf

platina 1:1 para taller (perforaciones, cotas)

<código> - Listas.xlsx + csv/

BOM, cables, bornes, E/S, red

preview/hoja-NN.png

vistas previas

Para ver el resultado en CADCraft: "ábrelo en CADCraft" (herramienta cadcraft_open).

Usar tus modelos 2D del fabricante

Importa C:\...\Modelos\Siemens - PLC\PLC_Terminales.dxf como modelo del catálogo siemens-6es7214-1ag40-0xb0.

library_import_model hace lo siguiente:

  • convierte DWG a DXF con CADCraft;

  • quita ATTDEF de CADENAS, puntos de conexión y cotas;

  • normaliza a mm con la esquina en 0,0;

  • registra el modelo en tu catálogo.

Desde entonces, la platina dibuja el equipo real. Los modelos no se suben al repositorio (licencias de los fabricantes).

Ejemplo completo

examples/build_26ha076.py reproduce el proyecto 26HA076 completo (8 hojas):

python examples\build_26ha076.py --workspace C:\temp\CadElec --models "C:\...\26HA076\Modelos"

Desarrollo

python -m venv .venv; .venv\Scripts\activate
pip install -e ".[dev]"
ruff check src tests; mypy; pytest            # las pruebas de integración se omiten si no hay CADCraft
pyinstaller packaging\cadcraft-elec-mcp.spec  # genera dist\cadcraft-elec-mcp.exe

Hay CI en GitHub Actions (Windows) con lint, tipos y pruebas. Al crear un tag v* se publica el .exe en Releases.

Solución de problemas

Síntoma

Causa / solución

cadcraft_not_installed

Instala CADCraft o define cadcraft_cli en config.toml (configuración).

cadcraft_connection al abrir en vivo

La app no tiene puerto de control. cadcraft_open la lanza sola; si no, abre cadcraft --control 7979.

pip install falla descargando mcp (InvalidChunkLength)

Proxy o red corporativa. Usa el .exe de Releases o pip install https://files.pythonhosted.org/.../mcp-2.3.0-py3-none-any.whl.

Un equipo sale como rectángulo en la platina

No tiene modelo. Impórtalo con library_import_model o da width_mm/height_mm reales.

cabinet_fit reporta equipos sin colocar

La placa es chica: más placa, canaletas más delgadas (duct_width) o menos equipos por riel.

Los registros quedan en Documentos\CadElec\logs\cadcraft-elec-mcp.log.

Licencia

Apache-2.0. CADCraft es © storytold, Apache-2.0/MIT. Este proyecto no incluye modelos CAD de terceros.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables an LLM agent to assemble, wire, run, fault and observe electromechanical motor-control circuits through 26 tools covering component placement, terminal connections, button/switch operation, fault injection, and simulation control. Also lets agents load and save circuits and generate PDF drawing sets, screenshots and scripted demo videos.
      MIT
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables AI agents to create, edit, validate, and read back production-grade CAD drawings — including P&ID sheets, mechanical parts and assemblies, and architectural floor plans with measured areas and schedules — through a single typed tool contract that runs either live via COM on Windows or headlessly via ezdxf anywhere. It also supports standards-aware dimensioning, ISO GD&T and tolerance checks, takeoff workbooks, and drawing understanding, diffing, and critique.
      -