fusion360-mcp-server
Provides tools for interacting with Autodesk Fusion 360, enabling AI assistants to generate Fusion 360 Python scripts for CAD modeling, sketching, and finishing operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fusion360-mcp-servercreate a rectangular bracket 40x30x5mm with fillets"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Fusion360 MCP Server
A modern Model Context Protocol (MCP) server for Autodesk Fusion 360, built from scratch using the latest MCP SDK. This server enables AI assistants to generate Fusion 360 Python scripts through natural language commands.
🚀 Features
Complete Tool Registry: 13+ essential Fusion 360 tools including inspection, sketching, modeling, and finishing operations
Modern MCP Architecture: Built with the latest MCP SDK patterns and best practices
Intelligent Script Generation: Converts tool calls into production-ready Fusion 360 Python scripts
Resource System: Access to tool documentation and examples
Prompt Templates: Pre-built prompts for common CAD workflows
Multiple Transports: Supports both stdio and SSE transport protocols
🛠️ Available Tools
Inspection & Debugging Tools
get_scene_info- Get detailed information about the current Fusion360 designget_object_info- Get detailed information about a specific object in the designexecute_code- Execute arbitrary Python code in Fusion360 for debugging and advanced operations
Sketching Tools
create_sketch- Create sketches on XY, YZ, or XZ planesdraw_rectangle- Draw rectangles with configurable dimensionsdraw_circle- Draw circles with specified radius and centerdraw_line- Draw lines between two points
3D Modeling Tools
extrude- Extrude sketches into 3D geometryrevolve- Revolve profiles around an axisshell- Create hollow shells from solid bodiesmirror- Mirror features across construction planes
Finishing Tools
fillet- Add fillets to edges with smart edge selectionchamfer- Add chamfers to edges
📋 Prerequisites
Python 3.10 or higher
Autodesk Fusion 360
🔧 Installation
Clone the project directory:
git clone https://github.com/mycelia1/fusion360-mcp-server.git cd fusion360-mcp-serverInstall dependencies using pip (recommended):
pip install -e .Or using uv:
uv syncVerify installation:
python -m fusion360_mcp --help
🔌 Fusion360 Add-in Installation (Optional)
For direct execution within Fusion360, install the included add-in:
Copy the add-in folder:
Navigate to your project's
fusion360_addon/folderCopy the entire
fusion360_addon/folder
Install in Fusion360: (For Windows)
Paste it into:
C:\Users\[Your Username]\AppData\Roaming\Autodesk\Autodesk Fusion 360\API\AddIns\Rename the copied folder from
fusion360_addontoFusion360MCP
Enable the add-in:
Open Fusion360
Go to Utilities → ADD-INS
Find "Fusion360MCP" in the list and click Run
The add-in will create a "Fusion360MCP" panel in your toolbar
Start the socket server:
Click "Start MCP Server" in the Fusion360MCP panel
The add-in will start a socket server on
localhost:9876
With the add-in installed, your MCP client can directly execute commands in Fusion360 without manual script copying!
🚀 Usage
Running as MCP Server (Default)
Run the server locally:
python -m fusion360_mcpRunning as SSE Server
For web-based integration or testing:
fusion360-mcp --transport sse --port 8000Test with MCP client or SSE mode for web testing.
🔗 Claude Desktop Integration
Add this configuration to your Claude Desktop MCP settings:
{
"mcpServers": {
"fusion360": {
"command": "python",
"args": [
"-m",
"fusion360_mcp",
"--mode",
"socket"
],
"cwd": "C:/path/to/your/fusion360-mcp-project",
"env": {}
}
}
}🎯 Example Workflows
Creating a Simple Bracket
1. create_sketch(plane="xy")
2. draw_rectangle(width=40, height=30)
3. extrude(height=5)
4. create_sketch(plane="yz")
5. draw_rectangle(width=30, height=25, origin_z=5)
6. extrude(height=5)
7. fillet(radius=3, edge_selection="all")Electronics Enclosure
1. create_sketch(plane="xy")
2. draw_rectangle(width=80, height=60)
3. extrude(height=40)
4. shell(thickness=2, face_selection="top")
5. create_sketch(plane="xy")
6. draw_circle(radius=1.5, center_x=10, center_y=10)
7. extrude(height=-2, operation="cut")📚 Resources and Prompts
The server provides built-in resources and prompts:
Resources
fusion360://tools- Complete tool registry with schemasfusion360://examples- Example workflows and scripts
Prompts
generate_part- Generate parts from natural language descriptionstutorial_workflow- Get step-by-step tutorials for common parts
🔧 Script Output
All tool calls generate complete Fusion 360 Python scripts that can be:
Copied and pasted directly into Fusion 360's script editor
Saved as .py files and run as add-ins
Integrated into larger automation workflows
Example generated script:
#Author-Fusion360 MCP Server
#Description-Auto-generated script from MCP tool calls
import adsk.core, adsk.fusion, adsk.cam, traceback
def run(context):
ui = None
try:
app = adsk.core.Application.get()
ui = app.userInterface
# Get the active design
design = app.activeProduct
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.0, 0.0),
adsk.core.Point3D.create(50, 30, 0.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(10)
extInput.setDistanceExtent(False, distance)
extrude = extrudes.add(extInput)
except:
if ui:
ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
def stop(context):
passAdding New Tools
Add tool definition to
FUSION360_TOOLSintools.pyAdd script template to
SCRIPT_TEMPLATESinscript_generator.pyAdd any special handling logic in
generate_script()
📄 License
MIT License - see the existing Fusion360 server implementation for reference.
🤝 Contributing
This server was built from scratch using the latest MCP SDK. Contributions are welcome for:
Additional Fusion 360 tools
Enhanced script generation
Better error handling
Documentation improvements
🔗 Related Projects
MCP Python SDK - The official MCP SDK used by this server
This server cannot be installed
Maintenance
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/mycelia1/fusion360-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server