Skip to main content
Glama
ab7646

fusion-reconstruct-mcp

by ab7646

fusion-reconstruct-mcp

Un servidor MCP que permite a un LLM convertir una malla STL/3MF (o una foto de referencia) en un modelo paramétrico de Fusion 360, reconstruido operación a operación (croquis, extrusiones, redondeos, matrices...), no importado como un cuerpo de malla sin parámetros.

Por qué

Los slicers (Bambu Studio, PrusaSlicer, ...) solo entienden STL/3MF: mallas de triángulos horneadas. Fusion 360 solo entiende árboles de operaciones paramétricas. Importar un STL en Fusion te da un sólido que puedes mirar pero no editar de forma significativa: sin dimensiones paramétricas, sin croquis editables, nada sobre lo que puedas arrastrar un control deslizante. Este proyecto salva esa brecha al permitir que un LLM examine la malla, averigüe de qué está hecha (placas, agujeros, salientes, nervaduras...), y la reconstruya como operaciones reales de Fusion, de modo que obtienes un modelo que de verdad puedes redimensionar, añadirle agujeros o modificar de la misma manera que modificarías algo construido a mano.

Related MCP server: Fusion360 LLM Assistant

Alcance (lee esto primero)

Esto se enfoca en piezas mecánicas/funcionales: soportes, carcasas, montajes, placas con agujeros para tornillos, salientes; reconstruidas a partir de primitivas (extrusión, revolución, redondeo, chaflán, matriz, simetría, operaciones booleanas). No intenta la reconstrucción de superficies orgánicas o de forma libre; eso es un problema mucho más difícil y menos fiable que este proyecto no trata de resolver. Consulta docs/RECONSTRUCTION_STRATEGY.md para el flujo de trabajo previsto.

Cómo funciona

flowchart LR
    LLM["LLM client"] -- MCP --> Server["MCP server<br/>(mesh analysis + Fusion bridge client)"]
    Server -- HTTP, localhost --> Addin["Fusion 360 add-in<br/>(runs inside Fusion)"]
    Addin --> Fusion[("Your live Fusion design")]

El servidor MCP expone dos familias de herramientas:

  • mesh_summary, find_circular_holes, find_circular_faces, list_planar_facets, get_cross_section, render_orthographic_views, compare_meshes - análisis puro de mallas (trimesh), sin necesidad de Fusion. Se utilizan para entender el archivo de entrada y para comprobar después la precisión de la reconstrucción contra él.

  • fusion_* (crear croquis, añadir línea/círculo/rectángulo/arco, extruir, girar, redondear, chaflanar, crear matriz, crear simetría, combinar, establecer/listar parámetros, exportar, captura de pantalla, ...) - se comunican con un complemento asociado de Fusion 360 a través de http://127.0.0.1:6172, que los ejecuta contra la API real adsk.fusion dentro de una sesión de Fusion en ejecución.

Consulta docs/ARCHITECTURE.md para saber por qué se divide así (versión corta: la API de Fusion solo se ejecuta dentro del propio proceso de Fusion, en su hilo principal, sin acceso a pip; por lo tanto, el complemento tiene que ser un pequeño puente HTTP que use solo la biblioteca estándar).

Configuración

Consulta docs/SETUP.md para las instrucciones completas. Versión corta:

git clone https://github.com/<your-username>/fusion-reconstruct-mcp.git
cd fusion-reconstruct-mcp
python -m venv .venv && source .venv/bin/activate  # .venv\Scripts\activate on Windows
pip install -r requirements.txt

A continuación, copia fusion_addin/FusionReconstructBridge/ en la carpeta AddIns de Fusion e inícialo desde Utilities > Add-Ins > Scripts and Add-Ins, y apunta tu cliente MCP (claude mcp add ... o tu mcp.json) a python -m server.mcp_server en este repositorio.

Uso

Con Fusion en ejecución y el complemento iniciado, pide a tu cliente LLM algo como:

Reconstruye ~/Downloads/bracket.stl como un modelo paramétrico de Fusion 360, luego expórtalo y comprueba cuánto se acerca al original.

Inspeccionará la malla, examinará las vistas renderizadas, localizará agujeros/salientes, reconstruirá la pieza operación a operación en Fusion y validará el resultado exportándolo y comparándolo con la malla de origen. Para una foto en lugar de una malla, construye una primera versión a partir de tu descripción/la imagen y la refina interactivamente contigo: en una sola foto no hay datos de dimensiones de referencia, así que trata esa vía como "modelado asistido", no como "scan-to-CAD".

Estado / limitaciones

  • La detección de círculos/agujeros es una heurística de teselación de mallas (ajuste de circunferencias sobre el contorno de las facetas)

    • funciona bien en piezas imprimibles típicas, pero no es un motor general de reconocimiento de características.

    • La reconstrucción basada en fotos estima proporciones; no mide dimensiones del mundo real a partir de una sola imagen.

  • render_orthographic_views usa un renderizador simple de alambre/sólido con matplotlib (sin dependencia de GPU) - suficiente para ver la forma general, no fotorrealista, y puede mostrar pequeños artefactos de orden z en piezas complejas.

  • Una sola conexión de documento/puente de Fusion a la vez.

  • La ruta de plano base con nombre de fusion_create_sketch (plane="XY"/"XZ"/"YZ", opcionalmente offset_mm) está verificada en vivo de forma exhaustiva. Su ruta de plano arbitrario (origin+normal) tenía un error real que se corrigió (setByThreePoints necesita entidades de punto, no un Point3D sin procesar; ver historial de git), pero nunca se confirmó que funcionara después: en el siguiente intento apareció un segundo error distinto ("Environment is not supported" de ConstructionPoints.add) que desapareció al reiniciar el complemento, lo que parece un estado transitorio de Fusion y no un error de código; sin embargo, esa ruta se sorteó en lugar de volver a probarse. Trátala como no verificada hasta que alguien la confirme en vivo.

  • Construido y probado con smoke tests contra la API MCPServer de mcp>=2.0.0. Las acciones del lado de Fusion se han probado todas contra una sesión real de Fusion 360 en ejecución (no solo escritas a partir de la documentación): ver tests/smoke_test_fusion_live.py (croquis → extrusión → cortar/unir → exportación, verificado contra la malla original con una tolerancia de 0,01 mm) y tests/smoke_test_fusion_live_features.py (redondeo, chaflán, simetría, matriz

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language 3D modeling in Fusion 360 through an MCP server that translates user commands into Fusion 360 API calls. Supports creating, editing, and managing 3D objects, executing Python code, and capturing model views through conversational interactions.
    1
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI-powered parametric CAD design in Autodesk Fusion 360 through natural language commands. Supports multiple AI backends (Ollama, OpenAI, Gemini, Claude) with intelligent routing and safety validation for geometric operations.
    13
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI-powered CAD automation in Autodesk Fusion 360 through natural language prompts. Features a modern web chat interface with multiple LLM backends for creating 3D models, sketches, and parametric designs.

View all related MCP servers

Related MCP Connectors

  • Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel.

  • Convert Revit files to XKT, IFC, or DWG and query BIM data via natural language.

  • DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ab7646/fusion-reconstruct-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server