Note: Colours were added manually
Control Fusion 360 CAD software directly from Claude Desktop using the Model Context Protocol (MCP).
This project provides an MCP server that allows Claude to create and manipulate 3D CAD models in Autodesk Fusion 360. Claude can sketch shapes, extrude them into 3D objects, and apply features like fillets and chamfers - all through natural language.
Claude Desktop
| (MCP over stdio)
server.py (MCP Server)
| (HTTP/JSON on localhost:8080)
fusion_http_server.py (Fusion 360 Script)
| (Fusion 360 Python API)
Fusion 360 CAD Software
- Fusion 360 - Download here
- Python 3.10+ - For running the MCP server
- Claude Desktop - Download here
git clone https://github.com/KevinZhao-07/Fusion-Mcp-Server.git
cd Fusion-Mcp-Serverpip install mcp httpx- Open Fusion 360
- Go to Utilities → Scripts and Add-Ins (or press Shift+S)
- Click the + button and go to "Script or add-in from device"
- Navigate to
Scripts/fusion_http_server/ - The script should now appear in the list
Add this to your Claude Desktop MCP configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"fusion-cad": {
"command": "python",
"args": [
"C:/Users/YOUR_USERNAME/Desktop/Fusion-Mcp-Project/server.py"
]
}
}
}Replace YOUR_USERNAME with your actual username, or use the full path to wherever you cloned the repo.
Open Fusion 360 and create a new design (File → New Design).
- In Fusion 360, go to Utilities → Scripts and Add-Ins (or press Shift+S)
- Select
fusion_http_serverunder "My Scripts" - Click Run
- You should see:
Fusion HTTP Server started on port 8080!
Keep this running - do not close the script dialog.
- Launch Claude Desktop
- The MCP server (
server.py) will start automatically - Look for the hammer icon in Claude to confirm the MCP tools are loaded
Once everything is running, try this in Claude Desktop:
Create a 10x10 cm rectangle, extrude it 5 cm, and add a 1 cm fillet to all edges.
Claude will:
- Create a rectangle sketch (10 cm x 10 cm)
- Extrude it to create a 3D box (5 cm tall)
- Round all the edges with a 1 cm radius fillet
You'll see the box appear in Fusion 360 in real-time!
Create a cylinder:
Sketch a circle with radius 3 cm and extrude it 10 cm.
Create a chamfered box:
Make a 5x5 cm rectangle, extrude 3 cm, then chamfer all edges with 0.5 cm distance.
Cut a hole:
Sketch a circle with radius 2 cm, then use extrude cut with distance 10 cm.
| Tool | Description |
|---|---|
sketch_rectangle |
Create a rectangle on the XZ plane |
sketch_line |
Draw a line on the XZ plane |
sketch_circle |
Create a circle (by radius or diameter) |
extrude_profile |
Extrude a sketch into a 3D body |
extrude_cut |
Cut through existing bodies |
fillet_edges |
Round all edges of the last body |
chamfer_edges |
Bevel all edges of the last body |
clear_all |
Clear the entire workspace |
- Make sure Fusion 360 is running
- Verify the HTTP server script is running (Step 2 above)
- Check that you see "Fusion HTTP Server started on port 8080!"
- Verify your
claude_desktop_config.jsonpath is correct - Restart Claude Desktop after editing the config
- Check the MCP logs in Claude Desktop settings
- Make sure you added the script folder, not just the
.pyfile - The folder must contain both
fusion_http_server.pyandfusion_http_server.manifest
- Did you create a sketch first? Extrusions require a sketch profile
- Check that the sketch creates a closed profile (rectangles and circles work, single lines don't)
Fusion-Mcp-Project/
├── server.py # MCP server (communicates with Claude Desktop)
├── README.md # This file
├── Notes.md # Design decisions and tradeoffs
└── Scripts/
└── fusion_http_server/
└── fusion_http_server.py # Fusion 360 HTTP server script
