Content
# Fusion 360 MCP Server (not working just yet)
[](https://www.gnu.org/licenses/agpl-3.0)
[](https://github.com/ulf-p/fusion360-mcp)
[](https://python.org)
[](https://spec.modelcontextprotocol.io/)
A **Model Context Protocol (MCP) server** for Autodesk Fusion 360, enabling AI assistants to interact with Fusion 360's CAD/CAM functionality through a local HTTP bridge.
## 🚀 Features
- **🤖 AI Integration**: Connect AI assistants (Claude, ChatGPT, etc.) directly to Fusion 360
- **🔧 3D Modeling**: Create parametric cubes, sketches, and geometric features
- **📊 Design Queries**: Access design information, features, and sketches
- **🌐 Cross-Platform**: Works on Windows, macOS, Linux, and WSL environments
- **⚡ Fast Connection**: Automatic network detection and optimized bridge communication
- **🔒 Local Only**: No cloud API required - works entirely via local HTTP bridge
- **🛠️ Zero Config**: Automatic WSL/Windows networking with no manual setup
## 📋 Prerequisites
- **Autodesk Fusion 360** (installed and licensed)
- **Python 3.8+**
- **Operating System**: Windows, macOS, Linux, or WSL
## ⚡ Quick Start
### 1. Clone and Install
```bash
git clone https://github.com/ulf-p/fusion360-mcp.git
cd fusion360-mcp
# Create and activate virtual environment
python -m venv fusion360_mcp_env
source fusion360_mcp_env/bin/activate # Linux/macOS/WSL
# OR: fusion360_mcp_env\Scripts\activate # Windows
# Install dependencies (minimal - recommended for users)
pip install -r requirements-minimal.txt
# OR install full development dependencies
# pip install -r requirements.txt
```
### 2. Install Fusion 360 Bridge
Copy the MCP Bridge add-in to Fusion 360:
```bash
# Windows
cp -r fusion360_addin/MCP_Bridge "%APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\"
# macOS
cp -r fusion360_addin/MCP_Bridge "~/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns/"
# Linux
cp -r fusion360_addin/MCP_Bridge "~/.local/share/Autodesk/Autodesk Fusion 360/API/AddIns/"
```
Enable the add-in in Fusion 360:
1. Open Fusion 360
2. Go to **Utilities** → **Add-Ins**
3. Find "MCP Bridge" and click **Run**
4. Verify you see: "MCP Bridge server started on http://localhost:18080"
### 3. Run the MCP Server
```bash
source fusion360_mcp_env/bin/activate
python fusion360_mcp_server.py
```
The server will automatically:
- ✅ Detect your environment (WSL/native)
- ✅ Find working network connections to Fusion 360
- ✅ Connect to the bridge and report status
### 4. Test the Connection
```bash
# Test with MCP Inspector
npx @modelcontextprotocol/inspector python fusion360_mcp_server.py
# Or test bridge directly
curl http://localhost:18080/status
```
### 5. Connect to Claude Desktop
## 🛠️ Usage Examples
### Basic Operations
```python
# Create a parametric cube
create_fusion360_cube(size=10.0, name="MyFastCube")
# Create a sketch on XY plane
create_fusion360_sketch(name="BaseSketch", plane="xy")
# Get design information
get_fusion360_design_info()
# List all features
list_fusion360_features()
```
### Connection Status
```python
# Check if Fusion 360 is running and bridge is available
check_fusion360_connection()
# Returns: {"connected": true, "http_endpoint_available": true, ...}
# Get detailed status
get_fusion360_status()
# Returns: {"status": "running", "message": "Fusion 360 is active and responsive", ...}
```
### AI Assistant Integration
When connected to an AI assistant supporting MCP:
```
User: "Create a 5cm cube called 'TestPart' in Fusion 360"
AI: → Calls create_fusion360_cube(5.0, "TestPart")
AI: ← "Successfully created cube 'TestPart'"
```
## 🏗️ Architecture
### Bridge Communication
```
┌─────────────┐ HTTP ┌─────────────┐ API ┌─────────────┐
│ AI Assistant│ ←──────→ │ MCP Server │ ←──────→ │ Fusion 360 │
│ (Claude) │ MCP │ (Python) │ (Bridge) │ (Desktop) │
└─────────────┘ └─────────────┘ └─────────────┘
```
### Cross-Platform Support
- **Windows**: Direct localhost connection
- **WSL**: Automatic Windows host IP detection
- **macOS/Linux**: Standard localhost connection
- **Docker**: host.docker.internal compatibility
## 🧪 Available MCP Tools
### Status & Connection
- `hello` - Test MCP connection
- `get_server_info` - Server capabilities and version
- `check_fusion360_connection` - Connection and bridge status
- `get_fusion360_status` - Detailed Fusion 360 status
### 3D Modeling
- `create_fusion360_cube(size, name)` - Create parametric cubes
- `create_fusion360_sketch(name, plane)` - Create sketches
- `get_fusion360_design_info()` - Active design information
- `list_fusion360_sketches()` - List all sketches
- `list_fusion360_features()` - List all features
## 🔧 Configuration
**Zero configuration required!** The MCP server automatically:
1. **Environment Detection**: Detects WSL vs native environment
2. **Network Discovery**: Finds working Windows IP addresses for bridge connectivity
3. **Connection Testing**: Tests HTTP bridge endpoints for Fusion 360 detection
4. **Priority Optimization**: Uses fastest connection methods first
## 🐛 Troubleshooting
### Common Issues
**"No Fusion 360 process found"**
- ✅ Ensure Fusion 360 is running
- ✅ Install and enable the MCP Bridge add-in
- ✅ Check that port 18080 is not blocked by firewall
**"Connection refused from WSL"**
- ✅ Verify MCP Bridge is running on Windows (not WSL)
- ✅ Check Windows firewall settings for port 18080
- ✅ Test: `curl http://<windows_ip>:18080/status` from WSL
**"MCP Bridge add-in is not running"**
- ✅ Go to Fusion 360: **Utilities** → **Add-Ins** → **MCP Bridge** → **Run**
- ✅ Restart Fusion 360 if needed
- ✅ Verify add-in files are in correct directory
### Debug Mode
Enable verbose logging:
```bash
export DEBUG=true # Linux/macOS/WSL
set DEBUG=true # Windows
python fusion360_mcp_server.py
```
See [BRIDGE_SETUP.md](BRIDGE_SETUP.md) for detailed setup instructions and troubleshooting.
## 🤝 Contributing
We welcome contributions! Please:
1. **Fork** the repository
2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)
3. **Follow** Python coding standards (PEP 8)
4. **Add tests** for new functionality
5. **Update** documentation
6. **Commit** changes (`git commit -m 'Add amazing feature'`)
7. **Push** to branch (`git push origin feature/amazing-feature`)
8. **Open** a Pull Request
### Development Setup
```bash
# Clone and setup development environment
git clone https://github.com/ulf-p/fusion360-mcp.git
cd fusion360-mcp
python -m venv fusion360_mcp_env
source fusion360_mcp_env/bin/activate
# Install full development dependencies
pip install -r requirements.txt
# Run tests
python -m pytest tests/
# Code quality
python -m flake8 .
python -m mypy fusion360_mcp_server.py
```
## 📜 License
This project is **dual-licensed**:
### Open Source License
**GNU Affero General Public License v3.0 (AGPL-3.0)**
Free for:
- ✅ Open source projects
- ✅ Personal use
- ✅ Educational purposes
- ✅ Research projects
### Commercial License
**Proprietary Commercial License**
Required for:
- 🏢 Commercial products
- 💼 Proprietary software
- 🔒 Closed-source applications
- 📈 Revenue-generating use
**Contact**: [mail@ulfpetersen.com](mailto:mail@ulfpetersen.com) for commercial licensing.
### License Choice
If you're using this in a commercial product and don't want to comply with AGPL requirements (sharing source code), please purchase a commercial license.
## 🔗 Resources
- **[MCP Specification](https://spec.modelcontextprotocol.io/)** - Model Context Protocol documentation
- **[Fusion 360 API Docs](https://help.autodesk.com/view/fusion360/ENU/?guid=GUID-A92A4B10-3781-4925-94C6-47DA85A4F65A)** - Official Fusion 360 API reference
- **[Bridge Setup Guide](BRIDGE_SETUP.md)** - Detailed installation and troubleshooting
- **[Claude Desktop](https://claude.ai/download)** - AI assistant with MCP support
## 🏷️ Version History
- **v2.0.0** - Bridge-focused architecture, WSL support, simplified configuration
- **v1.0.0** - Initial MCP server with basic Fusion 360 integration
## ⭐ Support
If this project helps you, please:
- ⭐ **Star** this repository
- 🐛 **Report** issues on GitHub
- 💡 **Suggest** features and improvements
- 🤝 **Contribute** code or documentation
---
**Made with ❤️ for the CAD automation community**
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.
git
A Model Context Protocol server for Git automation and interaction.
everything
Model Context Protocol Servers