SolidCraft, el software CAD paramétrico en Rust con soporte MCP
SolidCraft es un CAD paramétrico open source escrito en Rust con servidor MCP propio: los agentes de IA diseñan, miden y exportan piezas dentro de la app.
SolidCraft, el software CAD paramétrico en Rust con soporte MCP
Un agente de inteligencia artificial abre una pieza, dibuja un boceto, lo acota, lo extruye y devuelve una captura de cómo ha quedado, sin que nadie toque el ratón. Eso propone SolidCraft, un programa de diseño asistido por ordenador escrito en Rust que ha causado gran revuelo en Internet. Sobre todo, porque detrás está el desarrollador que firma como bherbruck, creador de un conjunto de herramientas software libres creadas con IA y que apunta a los gigantes globales del software.
Y pese a que el proyecto tiene solo doce días de vida, su ritmo es difícil de seguir. El repositorio se creó el 7 de octubre y ya, para el 16 de octubre rozaba las 3000 estrellas, con casi 400 incidencias abiertas, impulsado por licencia Apache 2.0 y una última versión 0.14.0, salida ese mismo 16 de octubre.
Pero por curioso que sea, aquí el CAD (Diseño Asistido por Computadora) no es la noticia. Los asistentes de código llevan meses generando geometría con scripts de OpenSCAD o FreeCAD, y el cuello de botella es siempre el mismo: el modelo resultante se edita mal y el agente no ve lo que hace. SolidCraft ataca las dos cosas a la vez, con un histórico de operaciones que sigue siendo editable y una herramienta que devuelve imágenes al modelo.
¿Cómo es el CAD de escritorio y navegador?
SolidCraft es un software de funcionamiento paramétrico en el sentido clásico, según su sitio web oficial. Dibujas un boceto sobre un plano, lo acotas y conviertes los perfiles en sólidos con un árbol que se recompone al cambiar una medida. El programa imita los flujos de otros CAD, así que los gestos resultan familiares.
El kernel de geometría es Truck, una biblioteca B-rep creada en Rust con licencia Apache 2.0. La interfaz está hecha con egui y wgpu, y el reparto de plataformas es amplio: instalador para Windows, imagen universal para macOS y AppImage, .deb, .rpm y Flatpak en Linux.
La versión web se abre en el navegador con WebGPU o WebGL2, y eso permite enseñar un modelo a un compañero sin que instale nada. Los diseños se guardan en ficheros propios y de ahí salen formatos STEP o IGES, mallas 3MF y STL, y URDF para robótica.
Un detalle de hardware interesa a quien tenga un ratón 3D. La aplicación detecta los SpaceMouse por HID y mueve la vista al inclinar la tapa. En Linux necesitas una regla udev, y Flatpak no expone esos dispositivos, un detalle todavía por arreglar.
El MCP de SolidCraft
En SolidCraft, cada acción de la interfaz pasa por el mismo comando, venga de la barra de herramientas, de un diálogo o del servidor del agente. Un agente no tiene una API de segunda categoría, por el contrario, el acceso es nativo y pensado desde el primer momento.
El servidor habla MCP por stdio con JSON-RPC 2.0 y admite las revisiones de protocolo de 2024 y 2025. En modo sin ventana, el CLI levanta su propia sesión; con la opción de conexión se engancha a la aplicación abierta para que veas modelar al agente.
Interfaz de SolidCraft
La documentación recoge catorce herramientas hasta el momento. Cinco no escriben nada y se limitan a informar: el catálogo de comandos, el resumen del diseño con su histórico, la medición de volumen, área y masas, la topología de cuerpos y los informes de caída.
Las demás modifican el diseño. Unas son reversibles, como cambiar un parámetro o deshacer. Otras pueden leer, sobrescribir o borrar ficheros, y por eso se marcan como destructivas: ejecutar comandos, abrir, guardar y exportar, capturar la pantalla o empezar un diseño nuevo.
Merece atención aparte el modo por lotes: ejecuta una lista de comandos en orden, se detiene en el primer error y deshace lo completado. Para probarlo con Claude Code basta una orden de alta. El repositorio incluye habilidades de agente para modelar, editar y comprobar mecanismos.
¿Qué puede tocar un agente?
El diseño de los permisos es donde se ve la cautela. Las herramientas solo leen, escriben o borran dentro del directorio del diseño abierto, y solo si está dentro de tu carpeta personal.
Así, tu home completa y lo que esté por encima quedan fuera, igual que las rutas ocultas y los ficheros invisibles como un `.env`. Existe una excepción explícita para quien sepa lo que hace.
La herramienta que cambia la conversación es la captura de pantalla: imagen del modelo o de la ventana, con cámara, encuadre y resolución, y en modo sin ventana dibuja con la GPU. Sin esa pieza, un agente de CAD trabaja a ciegas. Un usuario contaba que había abandonado OpenSCAD porque el modelo no razona sobre lo que no ve. Aquí el agente puede mirar el resultado, medirlo y corregir la operación siguiente, que es el bucle que faltaba.
El agente tampoco trabaja a ciegas respecto al usuario. La aplicación incluye un panel lateral que conversa con el agente que ya uses, sea Claude Code o Gemini CLI, o con un modelo detrás de una API compatible con OpenAI, incluidos Ollama y LM Studio en local.
El rover SELENE, una prueba de fuego
Por supuesto, un CAD de once días necesita pruebas, especialmente si tenemos en cuenta herramientas como AutoCAD que tienen más de 40 años de desarrollo. Y en este punto, SolidCraft ha destacado magistralmente. La referencia pública son 76 piezas: 75 coinciden en volumen, área, centro de masas y caja envolvente con el cálculo analítico o con FreeCAD, y la restante figura como fallo reconocido. Un problema a solucionar en próxima versiones.
En el README del proyecto, se avisa de que estas comprobaciones no demuestran equivalencia geométrica ni de flujo de trabajo. Una pieza que cuadra en volumen no garantiza que el árbol se recomponga igual tras cambiar una dimensión, que es donde otros programas libres, como FreeCAD, han sufrido durante años. Años, pero SolidCraft lo ha hecho en 11 días, y solo falla en una prueba de 76.
Sin embargo, el mejor argumento de venta de SolidCraft es un rover. SELENE, un vehículo científico modelado entero a través del servidor MCP, suma más de 3.300 pasos editables en el histórico que se reconstruyen sin errores. No es un fichero muerto exportado por un agente, sino un diseño paramétrico que una persona puede abrir, tocar, recomponer o romper. El vídeo de la demostración lo puedes ver en este enlace, y si has trabajado con CAD, te parecerá una demostración más que convincente del enorme potencial de SolidCraft.
Rover SELENE, la mayor demostración de las capacidades y potencial de SolidCraft
El port de SMLib y el problema de los bordes
La geometría sólida no es mérito de este proyecto: el kernel es Truck, y el resto, del solver al motor de comandos, es propio. Su comportamiento en booleanas y redondeos queda lejos del de los kernels comerciales.
Ahí entra la jugada más ambiciosa. El autor abrió un segundo repositorio para portar a Rust el subconjunto CAD de SMLib, el kernel que NVIDIA liberó a principios de octubre como USD BRep bajo Apache 2.0. SMLib salió de Solid Modeling Solutions, comprada por NVIDIA en mayo de 2022, y llevaba más de veinte años en el programa ClassCAD, según DEVELOP3D.
En la discusión, el autor describió el port como traducción directa del código liberado, con un reparto en el que cada colaborador se queda una función. La promesa es grande, porque un kernel fiable en Rust y compatible con WebAssembly resolvería el punto débil del CAD libre.
Lo que decidirá si sigue vivo dentro de cinco años
El plan de trabajo para el futuro de SolidCraft está publicado y sin adornos, con los primeros hitos terminados y el resto en curso. El autor ya ha dicho lo que no piensa hacer: trocear modelos para impresión 3D, porque el resultado depende del filamento y de cada impresora. En su lugar habrá un botón para abrir la pieza en el programa de corte que el usuario ya tenga.
Para quien viene del mundo de los agentes, la lectura útil no está en el CAD, sino en el patrón: una aplicación de escritorio minoritaria encuentra de pronto una vía de distribución al exponer sus comandos a un cliente de IA. Ese camino tiene una condición incómoda: el motor aguanta tanto como la geometría que tiene debajo, y esa pieza todavía está prestada. Si el port de SMLib funciona, el proyecto tendrá algo que nadie más ofrece. Si no, quedará como una herramienta joven y útil para piezas sencillas.