✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

Fusion 360 MCP Server

A Model Context Protocol (MCP) server that interfaces between Cline and Autodesk Fusion 360. This server exposes Fusion 360 toolbar-level commands as callable tools that map directly to Fusion’s API.

🧠 Overview

This project allows Cline to:

  • Parse natural language prompts (e.g., β€œMake a box with rounded corners”)
  • Resolve them into Fusion tool actions (e.g., CreateSketch β†’ DrawRectangle β†’ Extrude β†’ Fillet)
  • Call those tools through this MCP server
  • Return Python scripts that can be executed in Fusion 360

πŸ› οΈ Installation

Prerequisites

  • Python 3.9 or higher
  • Autodesk Fusion 360

Setup

  1. Clone this repository:

    git clone https://github.com/yourusername/fusion360-mcp-server.git
    cd fusion360-mcp-server
    
  2. Install dependencies:

    pip install -r requirements.txt
    

πŸš€ Usage

Running the HTTP Server

cd src
python main.py

This will start the FastAPI server at http://127.0.0.1:8000.

Running as an MCP Server

cd src
python main.py --mcp

This will start the server in MCP mode, reading from stdin and writing to stdout.

API Endpoints

  • GET /: Check if the server is running
  • GET /tools: List all available tools
  • POST /call_tool: Call a single tool and generate a script
  • POST /call_tools: Call multiple tools in sequence and generate a script

Example API Calls

List Tools

curl -X GET http://127.0.0.1:8000/tools

Call a Single Tool

curl -X POST http://127.0.0.1:8000/call_tool 
  -H "Content-Type: application/json" 
  -d '{
    "tool_name": "CreateSketch",
    "parameters": {
      "plane": "xy"
    }
  }'

Call Multiple Tools

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
        }
      }
    ]
  }'

πŸ“¦ Available Tools

The server currently supports the following Fusion 360 tools:

Create

  • CreateSketch: Creates a new sketch on a specified plane
  • DrawRectangle: Draws a rectangle in the active sketch
  • DrawCircle: Draws a circle in the active sketch
  • Extrude: Extrudes a profile into a 3D body
  • Revolve: Revolves a profile around an axis

Modify

  • Fillet: Adds a fillet to selected edges
  • Chamfer: Adds a chamfer to selected edges
  • Shell: Hollows out a solid body with a specified wall thickness
  • Combine: Combines two bodies using boolean operations

Export

  • ExportBody: Exports a body to a file

πŸ”Œ MCP Integration

To use this server with Cline, add it to your MCP settings configuration file:

{
  "mcpServers": {
    "fusion360": {
      "command": "python",
      "args": ["/path/to/fusion360-mcp-server/src/main.py", "--mcp"],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

🧩 Tool Registry

Tools are defined in src/tool_registry.json. Each tool has:

  • name: The name of the tool
  • description: What the tool does
  • parameters: The parameters the tool accepts
  • docs: Link to relevant Fusion API documentation

Example tool definition:

{
  "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"
}

πŸ“ Script Generation

The server generates Fusion 360 Python scripts based on the tool calls. These scripts can be executed in Fusion 360’s Script Editor.

Example generated script:

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()))

πŸ§ͺ Extending the Server

Adding New Tools

  1. Add a new tool definition to src/tool_registry.json
  2. Add a script template to SCRIPT_TEMPLATES in src/script_generator.py
  3. Add parameter processing logic to _process_parameters in src/script_generator.py

πŸ“š Documentation Links

  • Fusion 360 API Docs
  • Python API Class Reference
  • Feature API
  • Sketch API

πŸ”„ Future Enhancements

  • Session state tracking for context-aware operations
  • Dynamic tool registration
  • Automation via socket or file polling
  • More Fusion commands

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Featured Templates

View More
AI Agents
AI Video Generator
252 2007 5.0
AI Characters
Your Speaking Avatar
169 928
Customer service
Multi-language AI Translator
136 921
AI Engineering
Python Bug Fixer
119 1433

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.