CAD-MCP

Controla software CAD con instrucciones en lenguaje natural para realizar operaciones de dibujo.

Documentación

Servidor CAD-MCP (Servidor de Protocolo de Contexto de Modelo CAD)

Inglés | 中文

Introducción del Proyecto

CAD-MCP es un servicio innovador de control CAD que permite controlar software CAD para realizar operaciones de dibujo mediante instrucciones en lenguaje natural. Este proyecto combina el procesamiento del lenguaje natural y la tecnología de automatización CAD, permitiendo a los usuarios crear y modificar planos CAD a través de comandos de texto simples, sin necesidad de operar manualmente la interfaz CAD.

Características

Funciones de Control CAD

  • Soporte para múltiples software CAD: Compatible con software CAD principal, incluyendo AutoCAD, GstarCAD (GCAD) y ZWCAD
  • Funciones de dibujo básicas:
    • Dibujo de líneas
    • Dibujo de círculos
    • Dibujo de arcos
    • Dibujo de rectángulos
    • Dibujo de polilíneas
    • Adición de texto
    • Relleno de patrones
    • Anotación de dimensiones
  • Gestión de capas: Crear y cambiar de capa
  • Guardado del dibujo: Guardar el dibujo actual como archivo DWG

Funciones de Procesamiento de Lenguaje Natural

  • Análisis de comandos: Convierte instrucciones en lenguaje natural en parámetros de operación CAD
  • Reconocimiento de colores: Extrae información de color del texto y la aplica a los objetos de dibujo
  • Mapeo de palabras clave de formas: Soporta el reconocimiento de varias palabras descriptivas de formas
  • Mapeo de palabras clave de acciones: Reconoce varias acciones de dibujo y edición

Demostración

A continuación se muestra el video de demostración.

Demo

Requisitos de Instalación

Dependencias

pywin32>=228    # Windows COM interface support
mcp>=0.1.0      # Model Control Protocol library
pydantic>=2.0.0 # Data validation
typing>=3.7.4.3 # Type annotation support

Requisitos del Sistema

  • Sistema operativo Windows
  • Software CAD instalado (AutoCAD, GstarCAD o ZWCAD)

Configuración

El archivo de configuración se encuentra en src/config.json y contiene los siguientes ajustes principales:

{
    "server": {
        "name": "CAD MCP Server",
        "version": "1.0.0"
    },
    "cad": {
        "type": "AutoCAD",  
        "startup_wait_time": 20,
        "command_delay": 0.5
    },
    "output": {
        "directory": "./output",
        "default_filename": "cad_drawing.dwg"
    }
}
  • server: Información del nombre y versión del servidor
  • cad:
    • type: Tipo de software CAD (AutoCAD, GCAD, GstarCAD o ZWCAD)
    • startup_wait_time: Tiempo de espera para el inicio de CAD (segundos)
    • command_delay: Retardo de ejecución de comandos (segundos)
  • output: Configuración del archivo de salida

Uso

Iniciar el Servicio

python src/server.py

Claude Desktop y Windsurf

# add to claude_desktop_config.json. Note: use your path  
{
    "mcpServers": {
        "CAD": {
            "command": "python",
            "args": [
                # your path, e.g.: "C:\\cad-mcp\\src\\server.py"
                "~/server.py"
            ]
        }
    }
}

Cursor

# Add according to the following diagram Cursor MCP. Note: use your path  

Cursor config

Nota: La nueva versión de Cursor también se ha cambiado a configuración JSON, consulte la sección anterior.

MCP Inspector

# Note: use your path  
npx -y @modelcontextprotocol/inspector python C:\\cad-mcp\\src\\server.py

API del Servicio

El servidor ofrece las siguientes funciones principales de API:

  • draw_line: Dibuja una línea
  • draw_circle: Dibuja un círculo
  • draw_arc: Dibuja un arco
  • draw_polyline: Dibuja una polilínea
  • draw_rectangle: Dibuja un rectángulo
  • draw_text: Añade texto
  • draw_hatch: Dibuja un patrón de sombreado
  • add_dimension: Añade una dimensión lineal
  • save_drawing: Guarda el dibujo
  • process_command: Procesa comandos en lenguaje natural

Estructura del Proyecto

CAD-MCP/
├── imgs/                # Images and video resources
│   └── CAD-mcp.mp4     # Demo video
├── requirements.txt     # Project dependencies
└── src/                 # Source code
    ├── __init__.py     # Package initialization
    ├── cad_controller.py # CAD controller
    ├── config.json     # Configuration file
    ├── nlp_processor.py # Natural language processor
    └── server.py       # Server implementation

Licencia

Licencia MIT