
Furniture Designer
io.github.LuisEnVilla由 GitHub 账号 LuisEnVilla 发布v0.1.3更新于 Oct 27, 2026
Professional furniture design: specs, validation, cut optimization, BOM, and 3D reports.
概览
本地 MCP 服务器,把家具尺寸与类型转成可交付生产的方案:规格、结构校验、开料优化、BOM、装配步骤和 3D HTML 报告。
- 可以做什么
- 根据家具类型和尺寸生成完整规格(板材、五金、位置、分区)
- 查询人体工学标准、材料属性、结构规则、五金目录和装配规范
- 按结构规则校验规格,并生成含封边米数的物料清单
- 在标准板材上做二维开料优化,支持纹理方向和锯缝
- 生成西班牙语的分步装配说明
- 管理多个已保存设计,并提供带 3D 视图和实时刷新的交互式 HTML 报告
- 适用场景
- 适合木工与橱柜制作场景:让助手从描述的柜体(衣柜、厨房地柜或吊柜、书架、书桌、浴室柜)直接产出可施工的方案、开料清单和装配步骤。也适合反复迭代设计并在浏览器 3D 报告中查看效果。
- 运行要求
- 以本地 Python 包运行(需 Python 3.12 及以上,推荐用 uv,通过 uvx 启动)。仅 3D 导出工具需要 FreeCAD 0.21+ 及 MCP 插件。设计保存在本地 designs 目录,HTML 报告通过本机 8432 端口提供。
安装
在 SourceWeft 中
- 打开 控制台中的 Furniture Designer,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
furniture-designer-mcp
Servidor MCP para diseño profesional de muebles
[PyPI] [License] [MCP] [Python] [GitHub Release]
Convierte dimensiones y tipo de mueble en un paquete completo listo para fabricacion: especificacion tecnica, validacion estructural, optimizacion de cortes, BOM, instrucciones de ensamble, reporte HTML interactivo con viewer 3D, y exportacion opcional a FreeCAD.
Flujo general
Instalacion
Como servidor MCP (recomendado)
En .mcp.json de tu proyecto:
Desarrollo local
Uso con Claude Code (Plugin)
El furniture-designer-plugin agrega un asistente conversacional de 4 fases que guia al usuario desde la idea hasta el paquete de fabricacion:
El plugin maneja el flujo completo: pregunta tipo, dimensiones, material y funcionalidad, luego genera el spec, valida, optimiza cortes y produce el reporte HTML — todo conversacionalmente.
Ver documentacion completa del plugin: furniture-designer-plugin
Funcionalidades principales
Reporte HTML interactivo
El entregable principal es un reporte HTML servido en http://localhost:8432/{design_id} con:
- Pagina Diseno — Viewer 3D (Three.js) del mueble ensamblado + ficha tecnica con specs, roles, hardware y notas. Incluye herramienta de medicion interactiva y diagrama 2D de dimensiones internas (tipo IKEA)
- Pagina Partes — Vista 3D explosionada + tabla de partes con dimensiones y canteado + guia de ensamble
- Pagina Cortes — Layout SVG por tablero con piezas coloreadas por rol, canteado visual, barra de uso (verde/amarillo/rojo)
- Pagina Historial — Timeline vertical de iteraciones con badges de cambios
Multi-diseno con persistencia
Cada diseño se almacena en ./designs/{design_id}/ con:
Puedes trabajar en multiples diseños simultáneamente y retomar cualquiera en sesiones futuras.
Live reload via WebSocket
El reporte se actualiza automáticamente en el navegador cada vez que el agente genera una nueva iteración. No necesitas recargar la página — el WebSocket notifica el cambio y el JS actualiza la vista.
Mapa de secciones con lenguaje natural
El motor genera etiquetas de sección automáticamente basadas en los divisores verticales del diseño:
Esto permite que el usuario diga "haz la izquierda mas ancha" y el agente resuelva la referencia a la sección correcta.
Zocalo como marco estructural
El zócalo no es un panel suelto — es un marco rectangular de 4 piezas que soporta todo el peso del mueble:
El frente se retranquea 5cm para que los pies no choquen. Los laterales del mueble se apoyan encima de este marco.
Filtro automatico de paneles MDF
Los paneles de MDF 3mm (respaldos, fondos de cajón) se filtran automáticamente del optimizador de cortes — se cortan de un stock diferente (tablero MDF, no melamina). El filtro actúa sobre roles back, drawer_bottom, y cualquier panel con espesor menor al material principal.
Herramientas (23 tools)
Diseno
Conocimiento
Todas aceptan
brief=truepara respuestas compactas (ahorro 60-80% tokens).
Validacion y fabricacion
Multi-diseno y reporte
FreeCAD — exportar (requiere FreeCAD + RPC server)
FreeCAD — importar (requiere freecad-mcp)
Desarrollo
Tipos de mueble
Materiales
Arquitectura del servidor
Consideraciones tecnicas
Unidades
- Entrada: dimensiones en cm (ancho, alto, fondo)
- Salida: spec en mm (
width_mm,height_mm,thickness_mm) - Cortes: el optimizer usa
width/height(sin sufijo_mm) — schema diferente al spec
Veta del material
El optimizador soporta grain_direction="length" para mantener la dirección de veta consistente en melaminas con textura. Esto restringe la rotación de piezas. Si una pieza no cabe con restricción de veta, se relaja automáticamente a none con aviso.
Desbaste de sierra (kerf)
3mm por defecto. Se descuenta en cada corte del optimizador. Ajustable según la hoja utilizada.
Respaldos
Siempre MDF 3mm. El validador genera error si un mueble no tiene panel trasero (rol back). Se excluyen automáticamente del optimizador de cortes de melamina.
Divisiones automaticas
Si el ancho de una sección excede el tramo máximo del material, se agrega una división vertical automáticamente.
Muebles altos (>180cm)
El validador genera warning de anclaje a pared por riesgo de volcamiento.
Cajones completos
design_furniture genera caja completa: frente + 2 laterales + trasera + fondo MDF 3mm + correderas telescópicas.
Modo compact
Las tools principales retornan compact=true por defecto: resumen legible + JSON reducido. Usar compact=false solo si se necesita el JSON completo.
Hot-reload
reload_engine recarga todos los módulos del engine sin reiniciar el servidor MCP. Útil durante desarrollo.
Requisitos
- Python >= 3.12
- uv para gestión de paquetes
- FreeCAD 0.21+ con addon MCP (solo para exportación 3D)
Licencia
MIT
来源:README.md,提交 aada7ee
工具
0版本历史
1- v0.1.3最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分