mcp server
furniture-designer-plugin
Claude Code plugin for professional furniture design — AI skill for structural validation, cut optimization, BOM generation, and FreeCAD 3D visualization.
Set up
Runs on your computer. Pick your agent and operating system.
This project does not publish an install method we can turn into a config. Follow the README instead.
README
synced Oct 17, 2026furniture-designer-plugin
Plugin de Claude Code para diseño profesional de muebles
Asistente conversacional que guia al usuario desde la idea hasta un paquete listo para fabricacion: reporte HTML interactivo, validacion estructural, optimizacion de cortes y exportacion 3D opcional.
Que hace
Con este plugin instalado, puedes hablar naturalmente sobre muebles y el agente orquesta todo automáticamente:
Tu: "Quiero disenar un closet de 180x240x60 en melamina 18,
con cajones a la izquierda y repisas a la derecha"
Agente:
1. Valida dimensiones contra estandares ergonomicos
2. Genera spec completa (18 paneles, posiciones, hardware)
3. Valida estructura (10 reglas de ingenieria)
4. Optimiza cortes (3 tableros, 32% desperdicio)
5. Genera reporte HTML interactivo
"Reporte listo en http://localhost:8432/closet-dormitorio"
Tu: "Haz la seccion izquierda mas ancha"
Agente:
→ Resuelve "izquierda" -> S1
→ Regenera spec con ajuste
→ El reporte se actualiza solo en el navegador (WebSocket)
Que obtiene el usuario
| Entregable | Descripcion |
|---|---|
| Reporte HTML interactivo | Viewer 3D (Three.js), tabla de partes, layout de cortes SVG, historial de iteraciones — se actualiza en vivo |
| Especificacion tecnica | Cada panel con dimensiones mm, posición XYZ, material, canteado |
| Validacion estructural | 10 reglas de ingeniería: pandeo, anclaje, travesaños, respaldo, zócalo |
| Lista de materiales | Paneles agrupados + herrajes + cantos en metros lineales |
| Optimizacion de cortes | Layout por tablero con veta, kerf, y % desperdicio |
| Instrucciones de ensamble | Pasos ordenados con tipo de fijación y cantidades |
| Especificaciones de ensamble | Qué tornillo, a qué profundidad, cuándo usar pegamento |
| Modelo 3D en FreeCAD | Componentes organizados por rol con propiedades de material (opcional) |
| Vista explosionada | Separación por eje de ensamble en FreeCAD (opcional) |
| Plano tecnico 2D | Vistas ortogonales auto-escaladas a A3 en FreeCAD (opcional) |
| Diagrama de cortes | Layout visual de tableros en FreeCAD (opcional) |
| Importacion desde FreeCAD | Leer un modelo existente, validarlo, generar BOM y cortes (opcional) |
Instalacion
1. Instalar el plugin
claude plugin add https://github.com/LuisEnVilla/furniture-designer-plugin
Esto automaticamente:
- Registra el servidor MCP
furniture-designer-mcp(via uvx) - Registra el skill
/furniturepara invocación directa
2. Verificar
claude
> /furniture diseña un librero de 80x200x30
Si el agente responde con preguntas sobre el diseño, el plugin esta funcionando correctamente.
3. FreeCAD (opcional)
Solo necesario si quieres modelos 3D, vistas explosionadas o planos técnicos:
- Instalar FreeCAD (0.21+)
- Instalar el addon MCP:
uvx freecad-mcp - Abrir FreeCAD -> workbench "MCP Addon" -> "Start RPC Server"
- Agregar al
.mcp.jsondel proyecto:
{
"mcpServers": {
"freecad": {
"command": "uvx",
"args": ["freecad-mcp", "--only-text-feedback"]
}
}
}
--only-text-feedbackelimina screenshots de las respuestas, ahorrando tokens.
Uso
Invocacion directa (skill)
/furniture diseña un gabinete base de cocina 60x90x60
Conversacion natural
El agente detecta automaticamente la intención de diseño de muebles:
"Necesito un librero de 80x200x30"
"Cuantos tableros necesito para un closet de 120x240x60?"
"Que material aguanta un tramo de 100cm sin pandeo?"
"Que tornillos uso para unir los laterales al piso?"
"Agrega un cajon a la seccion derecha"
"Construye el modelo en FreeCAD"
Protocolo de 4 fases
El agente sigue un flujo conversacional estructurado:
Fase A: Descubrimiento
El agente pregunta secuencialmente (no todo de golpe):
- Tipo de mueble
- Dimensiones del espacio
- Material preferido
- Que se almacenara
- Distribución de secciones
Después de cada respuesta valida contra estándares y recomienda si hay conflictos.
Fase B: Generacion
Cuando el usuario confirma, el agente:
- Crea el proyecto de diseño
- Genera la especificación completa
- Valida estructura
- Optimiza cortes
- Genera el reporte HTML interactivo
- Proporciona la URL del reporte
Fase C: Iteracion
El usuario pide cambios con lenguaje natural:
- "Haz la izquierda mas ancha"
- "Agrega un cajon al centro"
- "Cambia el material a melamina 18"
El reporte se actualiza automaticamente en el navegador via WebSocket.
Fase D: Exportacion
Cuando el diseño esta listo:
- "Generamelo en FreeCAD" -> modelo 3D
- "Necesito el plano tecnico" -> TechDraw A3
- "Dame la lista de compra final" -> BOM detallado
Tipos de mueble
| Tipo | Descripcion | Caracteristicas clave |
|---|---|---|
kitchen_base | Gabinete base de cocina | Zócalo 4 piezas, travesaños, sin tapa (para cubierta) |
kitchen_wall | Gabinete aereo | Sin zócalo, tapa superior e inferior |
closet | Closet / armario | Zócalo, divisiones auto si >75cm, alerta anclaje si >180cm |
bookshelf | Librero / estanteria | Repisas multiples, puertas opcionales |
desk | Escritorio | Espacio para rodillas 60cm, panel de recato |
vanity | Vanitorio / bano | Estructura tipo base, material resistente a humedad |
Materiales
| Material | Espesor | Tramo max. | Mejor para |
|---|---|---|---|
melamine_16 (default) | 16mm | 75cm | Uso general, mas economico |
melamine_18 | 18mm | 85cm | Cocinas y closets de gama alta |
mdf_15 | 15mm | 80cm | Muebles pintados |
mdf_18 | 18mm | 90cm | Puertas con diseno CNC |
plywood_18 | 18mm | 100cm | Tramos largos, alta resistencia |
solid_pine_20 | 20mm | 120cm | Muebles de madera maciza |
Consideraciones importantes
- Las dimensiones de entrada son en cm; las de salida en mm (estándar de fabricación)
- La veta del material se respeta en la optimización de cortes — importante para melaminas con textura
- El desbaste de sierra (kerf 3mm) se descuenta automáticamente en cada corte
- Los paneles traseros son siempre MDF 3mm — se excluyen del optimizador de cortes de melamina
- El zócalo es un marco de 4 piezas (frente, fondo, 2 retornos laterales) — no un panel suelto
- Muebles anchos (>75cm en melamine_16): se agrega división vertical automáticamente
- Muebles altos (>180cm): el validador advierte sobre anclaje a pared
- Cajones completos: caja de 5 piezas + correderas telescópicas
- El agente usa modo brief por defecto en knowledge tools (ahorro 60-80% tokens)
- El agente usa modo compact por defecto en design tools (resumen + JSON reducido)
Arquitectura
+----------------------------+ +------------------------------------+
| furniture-designer-plugin | | furniture-designer-mcp |
| (este repo) |---->| (servidor MCP, repo aparte) |
| | | |
| Que hacer y cuando | | Como hacerlo |
| ------------------------- | | ---------------------------- |
| - Flujo conversacional | | - 23 tools MCP |
| - Cuando llamar cada tool | | - Engine: designer, validator |
| - Como interpretar datos | | - Knowledge: materials, rules |
| - Reglas anti-alucinacion | | - HTTP server + WebSocket |
| - Ejemplos de conversacion| | - Multi-diseno + persistencia |
| - Referencia de tools | | - Reporte HTML interactivo |
+----------------------------+ | - Section mapper |
| - FreeCAD bridge scripts |
+----------------+-------------------+
|
| (XML-RPC, opcional)
v
+------------------------------------+
| FreeCAD (opcional) |
| via freecad-mcp + XML-RPC |
| puerto 9875 |
+------------------------------------+
- Este plugin — capa de UX: enseña al agente como orquestar las 23 herramientas
- furniture-designer-mcp — motor: servidor MCP que funciona con cualquier cliente MCP
- freecad-mcp (opcional) — puente para ejecutar scripts Python en FreeCAD
Estructura del plugin
furniture-designer-plugin/
.claude-plugin/
plugin.json <- Metadata del plugin (nombre, version, autor)
.mcp.json <- Configuracion del servidor MCP
skills/
furniture/
SKILL.md <- Protocolo conversacional de 4 fases + reglas
reference.md <- Referencia completa de 23 tools con schemas
examples.md <- 5 conversaciones ejemplo
README.md
LICENSE
Herramientas disponibles (23)
El plugin expone 23 herramientas MCP organizadas en 7 categorías:
| Categoria | Tools | Cantidad |
|---|---|---|
| Diseño | design_furniture | 1 |
| Conocimiento | get_standards, get_material_specs, get_structural_rules, get_hardware_catalog, get_assembly_specs | 5 |
| Validación y fabricación | validate_structure, generate_bom, optimize_cuts, get_assembly_steps | 4 |
| Multi-diseño y reporte | create_design, list_designs, get_design_context, get_section_map, start_design_server, update_design_report | 6 |
| FreeCAD exportar | build_3d_model, build_exploded_view, build_cut_diagram, build_techdraw | 4 |
| FreeCAD importar | build_import_script, parse_freecad_import | 2 |
| Desarrollo | reload_engine | 1 |
Ver reference.md para la documentación completa de cada herramienta con parámetros y valores de retorno.
Licencia
MIT