Fusion 360 MCP Server
Servidor Fusion 360 MCP
Un servidor de Protocolo de contexto de modelo (MCP) que interactúa entre Cline y Autodesk Fusion 360. Este servidor expone los comandos de nivel de barra de herramientas de Fusion 360 como herramientas invocables que se asignan directamente a la API de Fusion.
🧠 Descripción general
Este proyecto permite a Cline:
Analizar indicaciones en lenguaje natural (por ejemplo, "Haz una caja con esquinas redondeadas")
Resolverlos en acciones de la herramienta Fusión (por ejemplo, Crear Boceto → Dibujar Rectángulo → Extruir → Redondear)
Llama a esas herramientas a través de este servidor MCP
Devuelve scripts de Python que se pueden ejecutar en Fusion 360
Related MCP server: MCP Atlassian Server
🛠️ Instalación
Prerrequisitos
Python 3.9 o superior
Autodesk Fusion 360
Configuración
Clonar este repositorio:
git clone https://github.com/yourusername/fusion360-mcp-server.git cd fusion360-mcp-serverInstalar dependencias:
pip install -r requirements.txt
🚀 Uso
Ejecución del servidor HTTP
cd src
python main.pyEsto iniciará el servidor FastAPI en http://127.0.0.1:8000 .
Ejecutándose como un servidor MCP
cd src
python main.py --mcpEsto iniciará el servidor en modo MCP, leyendo desde stdin y escribiendo en stdout.
Puntos finales de API
GET /: Comprueba si el servidor está en ejecuciónGET /tools: Lista todas las herramientas disponiblesPOST /call_tool: Llamar a una sola herramienta y generar un scriptPOST /call_tools: Llamar a múltiples herramientas en secuencia y generar un script
Ejemplos de llamadas API
Herramientas de lista
curl -X GET http://127.0.0.1:8000/toolsLlamar a una sola herramienta
curl -X POST http://127.0.0.1:8000/call_tool \
-H "Content-Type: application/json" \
-d '{
"tool_name": "CreateSketch",
"parameters": {
"plane": "xy"
}
}'Llamar a varias herramientas
curl -X POST http://127.0.0.1:8000/call_tools \
-H "Content-Type: application/json" \
-d '{
"tool_calls": [
{
"tool_name": "CreateSketch",
"parameters": {
"plane": "xy"
}
},
{
"tool_name": "DrawRectangle",
"parameters": {
"width": 10,
"depth": 10
}
},
{
"tool_name": "Extrude",
"parameters": {
"height": 5
}
}
]
}'📦 Herramientas disponibles
Actualmente, el servidor admite las siguientes herramientas de Fusion 360:
Crear
CreateSketch : crea un nuevo boceto en un plano específico
DrawRectangle : dibuja un rectángulo en el boceto activo
DrawCircle : dibuja un círculo en el boceto activo
Extruir : extruye un perfil en un cuerpo 3D
Girar : gira un perfil alrededor de un eje
Modificar
Filete : agrega un filete a los bordes seleccionados
Chaflán : agrega un chaflán a los bordes seleccionados
Carcasa : ahueca un cuerpo sólido con un espesor de pared especificado
Combinar : combina dos cuerpos mediante operaciones booleanas
Exportar
ExportBody : exporta un cuerpo a un archivo
🔌 Integración MCP
Para utilizar este servidor con Cline, agréguelo a su archivo de configuración de MCP:
{
"mcpServers": {
"fusion360": {
"command": "python",
"args": ["/path/to/fusion360-mcp-server/src/main.py", "--mcp"],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}🧩 Registro de herramientas
Las herramientas se definen en src/tool_registry.json . Cada herramienta tiene:
nombre : El nombre de la herramienta
Descripción : Qué hace la herramienta
parámetros : Los parámetros que acepta la herramienta
docs : Enlace a la documentación relevante de la API de Fusion
Ejemplo de definición de herramienta:
{
"name": "Extrude",
"description": "Extrudes a profile into a 3D body.",
"parameters": {
"profile_index": {
"type": "integer",
"description": "Index of the profile to extrude.",
"default": 0
},
"height": {
"type": "number",
"description": "Height of the extrusion in mm."
},
"operation": {
"type": "string",
"description": "The operation type (e.g., 'new', 'join', 'cut', 'intersect').",
"default": "new"
}
},
"docs": "https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-6D381FCD-22AB-4F08-B4BB-5D3A130189AC"
}📝 Generación de scripts
El servidor genera scripts Python de Fusion 360 basados en las llamadas a la herramienta. Estos scripts se pueden ejecutar en el editor de scripts de Fusion 360.
Ejemplo de script generado:
import adsk.core, adsk.fusion, traceback
def run(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
design = app.activeProduct
# Get the active component in the design
component = design.rootComponent
# Create a new sketch on the xy plane
sketches = component.sketches
xyPlane = component.xYConstructionPlane
sketch = sketches.add(xyPlane)
# Draw a rectangle
rectangle = sketch.sketchCurves.sketchLines.addTwoPointRectangle(
adsk.core.Point3D.create(0, 0, 0),
adsk.core.Point3D.create(10, 10, 0)
)
# Extrude the profile
prof = sketch.profiles.item(0)
extrudes = component.features.extrudeFeatures
extInput = extrudes.createInput(prof, adsk.fusion.FeatureOperations.NewBodyFeatureOperation)
distance = adsk.core.ValueInput.createByReal(5)
extInput.setDistanceExtent(False, distance)
extrude = extrudes.add(extInput)
ui.messageBox('Operation completed successfully')
except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))🧪 Ampliación del servidor
Agregar nuevas herramientas
Agregar una nueva definición de herramienta a
src/tool_registry.jsonAgregue una plantilla de script a
SCRIPT_TEMPLATESensrc/script_generator.pyAgregue lógica de procesamiento de parámetros a
_process_parametersensrc/script_generator.py
📚 Enlaces de documentación
🔄 Mejoras futuras
Seguimiento del estado de la sesión para operaciones sensibles al contexto
Registro dinámico de herramientas
Automatización mediante sondeo de sockets o archivos
Más comandos de Fusion
📄 Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/ArchimedesCrypto/fusion360-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server