About
Fusion360 — Model Context Protocol server
README
MseeP.ai Security Assessment Badge
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
Clone this repository:
git clone https://github.com/yourusername/fusion360-mcp-server.git cd fusion360-mcp-serverInstall 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 runningGET /tools: List all available toolsPOST /call_tool: Call a single tool and generate a scriptPOST /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
- Add a new tool definition to
src/tool_registry.json - Add a script template to
SCRIPT_TEMPLATESinsrc/script_generator.py - Add parameter processing logic to
_process_parametersinsrc/script_generator.py
📚 Documentation Links
🔄 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.
Installing Fusion360
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/ArchimedesCrypto/fusion360-mcp-serverFAQ
Is Fusion360 MCP free?
Yes, Fusion360 MCP is free — one-click install via Unyly at no cost.
Does Fusion360 need an API key?
No, Fusion360 runs without API keys or environment variables.
Is Fusion360 hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Fusion360 in Claude Desktop, Claude Code or Cursor?
Open Fusion360 on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Fusion360 with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
