KiCAD-MCP-Server

Integrations

  • Enables direct interaction with KiCAD PCB design software, allowing for natural language control of operations including project management, board design, component placement and manipulation, routing, design rule implementation, and exporting designs in various formats.

KiCAD MCP: Diseño de PCB asistido por IA

KiCAD MCP es una implementación del Protocolo de Contexto de Modelo (MCP) que permite que los Modelos de Lenguaje Grande (LLM) como Claude interactúen directamente con KiCAD para el diseño de placas de circuito impreso. Crea un puente de comunicación estandarizado entre los asistentes de IA y el software de diseño de PCB KiCAD, lo que permite el control en lenguaje natural de operaciones avanzadas de diseño de PCB.

Además, Google-Search-MCP está aquí, puede realizar búsquedas en Google y ver páginas:

https://github.com/mixelpixx/Google-Search-MCP-Server

Estado del proyecto KiCAD MCP

  • Se implementó la compatibilidad total de la interfaz Python con KiCAD 9.0
  • Creó una arquitectura de componentes modular y mantenible
  • Se implementaron herramientas integrales para la manipulación de placas, la colocación de componentes y el enrutamiento.
  • Operaciones probadas con éxito desde la creación del proyecto hasta la colocación y el enrutamiento de componentes
  • Se creó una implementación de servidor MCP optimizada que pasa comandos de manera confiable a KiCAD

El servidor funciona a la perfección con Cline/Claude, lo que permite el diseño de PCB asistido por IA a través del lenguaje natural.

Qué hace

KiCAD MCP transforma la forma en que los ingenieros y diseñadores trabajan con KiCAD al permitir que los asistentes de IA:

  • Cree y gestione proyectos de PCB de KiCAD mediante solicitudes en lenguaje natural
  • Manipular la geometría, los contornos, las capas y las propiedades del tablero.
  • Coloque y organice los componentes en varios patrones (cuadrícula, circular, alineado)
  • Enruta trazas, pares diferenciales y crea vertidos de cobre
  • Implementar reglas de diseño y realizar comprobaciones de reglas de diseño
  • Generar exportaciones en varios formatos (Gerber, PDF, SVG, modelos 3D)
  • Proporcionar un contexto completo sobre la placa de circuito al asistente de IA.

Esto permite un flujo de trabajo de diseño de PCB basado en lenguaje natural, en el que se pueden solicitar operaciones complejas en un inglés sencillo, manteniendo al mismo tiempo la supervisión y el control total del ingeniero.

Arquitectura central

  • Servidor MCP de TypeScript : implementa la especificación del Protocolo de contexto de modelo antrópico para comunicarse con Claude y otros asistentes de IA compatibles
  • Interfaz Python KiCAD : maneja operaciones reales de KiCAD a través de la API Python de pcbnew con manejo integral de errores
  • Diseño modular : organiza la funcionalidad por dominios (proyecto, placa, componente, enrutamiento) para facilitar el mantenimiento y la extensibilidad.

Requisitos del sistema

  • KiCAD 9.0 o superior (debe estar completamente instalado)
  • Node.js v18 o superior y npm
  • Python 3.8 o superior con pip (la versión que viene con KiCAD 9.0 es suficiente)
  • Cline (extensión VSCode Claude) u otro cliente compatible con MCP
  • Windows 10/11 (la versión actual está optimizada para Windows; se planea compatibilidad con Linux/Mac)

Instalación

Paso 1: Instalar KiCAD 9.0

  1. Descargue KiCAD 9.0 desde el sitio web oficial de KiCAD
  2. Ejecute el instalador y seleccione las opciones de instalación predeterminadas
  3. Asegúrese de que el módulo Python esté instalado (está incluido en la instalación predeterminada)

Paso 2: Clonar y configurar el repositorio MCP de KiCAD

git clone https://github.com/kicad-ai/kicad-mcp.git cd kicad-mcp npm install npm run build

Paso 3: Configurar Cline (extensión Claude de VSCode)

  1. Instale VSCode desde el sitio web oficial si aún no está instalado
  2. Instale la extensión Cline (Claude para VSCode) desde el mercado de VSCode
  3. Editar el archivo de configuración de Cline MCP:
    • Windows: %USERPROFILE%\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
    • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  4. Agregue esta configuración al archivo (actualice las rutas según sea necesario para su sistema):
"kicad": { "autoApprove": [], "disabled": false, "timeout": 60, "command": "C:\\Program Files\\nodejs\\node.exe", "args": [ "C:/path/to/kicad-mcp/dist/kicad-server.js" ], "env": { "PYTHONPATH": "C:/Program Files/KiCad/9.0/lib/python3/dist-packages", "DEBUG": "mcp:*" }, "transportType": "stdio" }
  1. Reinicie VSCode o vuelva a cargar la ventana para que los cambios surtan efecto.

Paso 4: Verificar la instalación

  1. Abra VSCode con la extensión Cline
  2. Inicia una nueva conversación con Claude
  3. Pídele a Claude que cree un nuevo proyecto de KiCAD:
    Create a new KiCAD project named 'TestProject' in the 'test' directory.
  4. Claude debe usar KiCAD MCP para crear el proyecto e informar el éxito.

Ejemplos de uso

A continuación se muestran algunos ejemplos de lo que puedes pedirle a Claude que haga con KiCAD MCP:

Gestión de proyectos

Create a new KiCAD project named 'WiFiModule' in my Documents folder.
Open the existing KiCAD project at C:/Projects/Amplifier/Amplifier.kicad_pro

Diseño de placa

Set the board size to 100mm x 80mm.
Add a rounded rectangle board outline with 3mm corner radius.
Add mounting holes at each corner of the board, 5mm from the edges.

Colocación de componentes

Place a 10uF capacitor at position x=50mm, y=30mm.
Create a grid of 8 LEDs, 4x2, starting at position x=20mm, y=10mm with 10mm spacing.
Align all resistors horizontally and distribute them evenly.

Enrutamiento

Create a new net named 'VCC' and assign it to the power net class.
Route a trace from component U1 pin 1 to component C3 pin 2 on layer F.Cu.
Add a copper pour for GND on the bottom layer.

Reglas de diseño y exportación

Set design rules with 0.2mm clearance and 0.25mm minimum track width.
Export Gerber files to the 'fabrication' directory.

Características por categoría

Gestión de proyectos

  • Cree nuevos proyectos de KiCAD con configuraciones personalizables
  • Abrir proyectos existentes de KiCAD desde rutas de archivos
  • Guardar proyectos con nuevas ubicaciones opcionales
  • Recuperar metadatos y propiedades del proyecto

Diseño de placa

  • Establezca dimensiones precisas de la placa con soporte para unidades métricas e imperiales
  • Añadir contornos de tablero personalizados (rectángulo, rectángulo redondeado, círculo, polígono)
  • Crear y administrar capas de tablero con varias configuraciones
  • Agregue orificios de montaje, anotaciones de texto y otras características del tablero
  • Visualizar el estado actual del tablero

Componentes

  • Coloque componentes con huellas específicas en ubicaciones precisas
  • Crear matrices de componentes en patrones de cuadrícula o circulares
  • Mover, rotar y modificar componentes existentes
  • Alinear y distribuir los componentes de manera uniforme
  • Componentes duplicados con propiedades personalizables
  • Obtenga propiedades y listados detallados de los componentes

Enrutamiento

  • Crear y administrar redes con propiedades específicas
  • Rutas de ruta entre pads de componentes o puntos arbitrarios
  • Añadir vías, incluidas vías ciegas y enterradas
  • Crear rutas de pares diferenciales para señales de alta velocidad
  • Generar vertidos de cobre (planos de tierra, planos de potencia)
  • Definir clases de red con reglas de diseño específicas

Reglas de diseño

  • Establecer reglas de diseño globales para espacio libre, ancho de vía, etc.
  • Definir reglas específicas para diferentes clases de red
  • Ejecute la verificación de reglas de diseño (DRC) para validar el diseño
  • Ver y gestionar las infracciones de la DRC

Exportar

  • Genere archivos Gerber estándar de la industria para la fabricación
  • Exportar documentación PDF de la PCB
  • Crear gráficos vectoriales SVG del tablero
  • Generar modelos 3D en formato STEP o VRML
  • Producir listas de materiales (BOM) en varios formatos

Detalles de implementación

La implementación de KiCAD MCP utiliza una arquitectura modular y mantenible:

Servidor MCP de TypeScript (Node.js)

  • kicad-server.ts : El servidor principal que implementa el protocolo MCP
  • Utiliza el transporte STDIO para una comunicación confiable con Cline
  • Administra el proceso de Python para las operaciones de KiCAD
  • Maneja la cola de comandos, la recuperación de errores y el formato de respuesta.

Interfaz de Python

  • kicad_interface.py : La interfaz principal de Python que:
    • Analiza los comandos recibidos como JSON a través de la entrada estándar
    • Envía comandos a los controladores especializados apropiados
    • Devuelve resultados como JSON a través de stdout
    • Maneja los errores con elegancia y con información detallada
  • Estructura de mando modular :
    • commands/project.py : Creación, apertura y guardado de proyectos
    • commands/board/ : Funciones de manipulación de placa modular
      • size.py : Operaciones de tamaño de placa
      • layers.py : Gestión de capas
      • outline.py : Creación del esquema del tablero
      • view.py : Funciones de visualización
    • commands/component.py : Colocación y manipulación de componentes
    • commands/routing.py : Seguimiento de enrutamiento y gestión de red
    • commands/design_rules.py : DRC y configuración de reglas
    • commands/export.py : Generación de salida en varios formatos

Esta arquitectura garantiza que cada aspecto del diseño de PCB sea manejado por módulos especializados mientras se mantiene una capa de interfaz limpia y consistente.

Solución de problemas

Problemas comunes y soluciones

Problema: KiCAD MCP no aparece en las herramientas de Claude

  • Asegúrese de que VSCode se reinicie por completo después de actualizar la configuración de Cline MCP
  • Verifique que las rutas en la configuración sean correctas para su sistema
  • Compruebe que la npm run build se completó correctamente

Problema: Errores de Node.js al iniciar el servidor

  • Asegúrate de estar usando Node.js v18 o superior
  • Intente ejecutar npm install nuevamente para asegurarse de que todas las dependencias estén instaladas correctamente
  • Verifique la salida de la consola para ver si hay mensajes de error específicos

Problema: Errores de Python o fallos en los comandos de KiCAD

  • Verifique que KiCAD 9.0 esté correctamente instalado
  • Verifique que PYTHONPATH en la configuración apunte a la ubicación correcta
  • Intente ejecutar un script Python de KiCAD simple directamente para asegurarse de que el módulo pcbnew sea accesible

Problema: Claude no puede encontrar ni cargar su proyecto KiCAD

  • Utilice rutas absolutas al hacer referencia a ubicaciones de proyectos
  • Asegúrese de que el usuario que ejecuta VSCode tenga permisos de acceso a los directorios

Obtener ayuda

Si encuentra problemas no cubiertos en esta sección de solución de problemas:

  1. Verifique la salida de la consola para ver si hay mensajes de error
  2. Busque problemas similares en la sección Problemas del repositorio de GitHub
  3. Abra un nuevo problema con información detallada sobre el problema.

Contribuyendo

¡Agradecemos tus contribuciones a este proyecto! Puedes ayudar de la siguiente manera:

  1. Informar errores : abra un problema que describa qué salió mal y cómo reproducirlo
  2. Sugerir funciones : ¿Tienes una idea? Compártela a través de un problema.
  3. Enviar solicitudes de extracción : ¿Corregiste un error o añadiste una función? ¡Envía una solicitud de extracción!
  4. Mejorar la documentación : ayudar a aclarar o ampliar la documentación

Siga el estilo del código existente e incluya pruebas para nuevas funciones.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Related MCP Servers

View all related MCP servers

ID: mbakeskoz3