Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

Fusion-MCP-Server

MCP.Pizza Chef: Joelalbon

Fusion-MCP-Server is a Python-based MCP server that enables remote control and automation of Autodesk Fusion 360. It uses a client-server architecture with JSON socket communication to execute commands, monitor operations, and retrieve model data. The server acts as a bridge between external clients and the Fusion 360 API, facilitating integration and automation workflows through a modular design including a Fusion 360 add-in.

Use This MCP server To

Execute Fusion 360 commands remotely via JSON socket communication Retrieve Fusion 360 model data for external processing Monitor Fusion 360 command execution status in real time Automate repetitive Fusion 360 workflows from external applications Integrate Fusion 360 operations into larger automation pipelines Enable remote scripting and control of Fusion 360 sessions Develop custom clients to interact with Fusion 360 via MCP protocol

README

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:

  1. MCP Server (server.py): A standalone Python server that listens for connections from clients and communicates with Fusion 360.

  2. MCP Client (client.py): A Python client library that connects to the MCP server and provides methods for sending commands and receiving responses.

  3. Fusion 360 Add-in (fusion360_mcp_addin.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

  1. Clone this repository or copy the files to your desired location.

  2. Make sure you have Python 3.6+ installed.

  3. No additional Python packages are required for basic functionality as the implementation uses only standard library modules.

  4. To enable LLM features, install the optional openai package:

    pip install openai

Fusion 360 Add-in

  1. Copy the entire folder containing fusion360_mcp_addin.py, client.py, and the resources directory to your Fusion 360 AddIns directory. Ensure the resources/MCPIcon folder contains the required icon files (32x32-normal.png and 16x16-normal.png).
  2. In Fusion 360, open the "Scripts and Add-ins" dialog (press Shift+S or find it in the "Design" workspace under "Utilities").
  3. On the "Add-ins" tab choose Load from my computer ("Load from Device" on some versions) and select this folder. Selecting the folder starts the add-in.
  4. Click "Run" or enable "Run on Startup" to have it automatically load when Fusion 360 starts.

Usage

Starting the Server

  1. Open a command prompt or terminal.
  2. Navigate to the directory containing the server files.
  3. 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. Set the OPENAI_API_KEY environment variable if you plan to use the LLM integration.

Connecting Fusion 360 to the Server

  1. Start Fusion 360 and make sure the MCP add-in is running.
  2. In Fusion 360, look for the "MCP Controls" panel.
  3. Click the "Connect to MCP Server" button.
  4. Enter the server host and port, then click OK.
  5. 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 360
  • get_model_info: Request information about the current model
  • command_result: Response containing the result of a command execution
  • model_info: Response containing model information
  • llm_request: Request text generation from the configured LLM
  • llm_result: Response containing LLM output

Extension

You can extend the server and add-in to support additional functionality:

  1. Add new message types to the protocol
  2. Implement handlers for these message types in the server
  3. Add corresponding methods to the client
  4. Implement the actual functionality in the Fusion 360 add-in

License

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

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Notes

  • Fusion 360 (2601.1.34)MCP Add-in refuses to install with errors indicating more than one file.
    • Create a new add-in (python), edit, copy the fusion360_mcp_addin.py source to the new file, save, open the new file location and copy the client.py and resource folder to that location, restart Fusion 360.

Fusion-MCP-Server FAQ

How do I install the Fusion-MCP-Server?
Clone the repository, install Python dependencies, and run the server.py script to start the MCP server.
What communication protocol does Fusion-MCP-Server use?
It uses JSON socket communication to exchange commands and data between clients and the server.
Can I use Fusion-MCP-Server to automate Fusion 360 without the GUI?
Yes, the server enables remote execution of Fusion 360 commands, allowing automation without direct GUI interaction.
Is the Fusion 360 add-in required to use the MCP server?
Yes, the Fusion 360 add-in connects Fusion 360 to the MCP server, enabling command execution and data retrieval.
Can I develop my own client to interact with the Fusion-MCP-Server?
Yes, the server exposes a Python client library and uses a documented JSON protocol for custom client development.
Does Fusion-MCP-Server support real-time command monitoring?
Yes, it provides feedback on command execution status to connected clients in real time.
Is Fusion-MCP-Server compatible with other LLM providers like OpenAI, Claude, or Gemini?
While the server itself is independent of LLM providers, it can be integrated into workflows involving OpenAI, Claude, Gemini, or other AI models for enhanced automation.
What platforms does Fusion-MCP-Server support?
It primarily supports platforms where Autodesk Fusion 360 runs and Python is available, typically Windows and macOS.