Fusion 360 MCP Server
by Joelalbon
The Fusion 360 MCP Server enables remote control and automation of Fusion 360 operations through a client-server architecture. It acts as a bridge between external applications and the Fusion 360 API.
Last updated: N/A
Fusion 360 MCP Server
Master Control Program (MCP) server for Autodesk Fusion 360 that enables remote control and automation of Fusion 360 operations.
Overview
This project implements a client-server architecture that allows external applications to interact with Fusion 360. The server acts as a bridge between clients and the Fusion 360 API, enabling remote execution of commands and retrieval of model information.
Components
The project consists of three main components:
-
MCP Server (
server.py
): A standalone Python server that listens for connections from clients and communicates with Fusion 360. -
MCP Client (
client.py
): A Python client library that connects to the MCP server and provides methods for sending commands and receiving responses. -
Fusion 360 Add-in (
fusion360_mcp_addon.py
): A Fusion 360 add-in that connects to the MCP server and provides the actual integration with the Fusion 360 API.
Installation
Server and Client
- Clone this repository or copy the files to your desired location.
- Make sure you have Python 3.6+ installed.
- No additional Python packages are required as the implementation uses only standard library modules.
Fusion 360 Add-in
- In Fusion 360, go to the "Scripts and Add-ins" dialog (press Shift+S or find it in the "Design" workspace under "Utilities").
- Click the "Add-ins" tab, then click the "+" icon next to "My Add-ins".
- Navigate to the location of the add-in files and select the folder containing
fusion360_mcp_addon.py
. - Click "Run" to start the add-in, or "Run on Startup" to have it automatically load when Fusion 360 starts.
Usage
Starting the Server
- Open a command prompt or terminal.
- Navigate to the directory containing the server files.
- Run the server:
python server.py
By default, the server will listen on 127.0.0.1:8080
. You can modify the host and port in the code if needed.
Connecting Fusion 360 to the Server
- Start Fusion 360 and make sure the MCP add-in is running.
- In Fusion 360, look for the "MCP Controls" panel.
- Click the "Connect to MCP Server" button.
- Enter the server host and port, then click OK.
- If successful, you will see a confirmation message.
Using the Client
You can use the provided client implementation to connect to the server and interact with Fusion 360:
from client import MCPClient
# Create and connect the client
client = MCPClient('127.0.0.1', 8080)
if client.connect():
# Get model information
client.get_model_info()
# Execute a Fusion 360 command
client.execute_fusion_command('create_circle', {
'center': [0, 0, 0],
'radius': 10
})
# Disconnect when done
client.disconnect()
Protocol
The server and clients communicate using a simple JSON-based protocol over TCP sockets. Each message is a JSON object with at least a type
field indicating the message type.
Message Types
fusion_command
: Execute a command in Fusion 360get_model_info
: Request information about the current modelcommand_result
: Response containing the result of a command executionmodel_info
: Response containing model information
Extension
You can extend the server and add-in to support additional functionality:
- Add new message types to the protocol
- Implement handlers for these message types in the server
- Add corresponding methods to the client
- Implement the actual functionality in the Fusion 360 add-in
License
This project is provided as-is without any warranty. Use at your own risk.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.