Fusion 360远程控制服务器

用于Autodesk Fusion 360的主控程序服务器,支持远程控制和自动化Fusion 360操作。

  • by Joelalbon
  • Python
  • 本地部署
  • 41 星标
  • 更新于
在 GitHub 查看 Joelalbon/Fusion-MCP-Server

使用说明

Fusion 360 MCP服务器

Autodesk Fusion 360的主控制程序(MCP)服务器,可实现Fusion 360操作的远程控制和自动化。

概述

该项目实现了一种客户端-服务器架构,允许外部应用程序与Fusion 360交互。服务器充当客户端和Fusion 360 API之间的桥梁,实现命令的远程执行和模型信息的检索。

组件

该项目由三个主要部分组成:

  1. MCP服务器 (server.py):一个独立的Python服务器,监听来自客户端的连接并与Fusion 360通信。

  2. MCP客户端 (client.py):一个连接到MCP服务器的Python客户端库,提供发送命令和接收响应的方法。

  3. Fusion 360插件 (fusion360_mcp_addin.py):Fusion 360插件,连接到MCP服务器,并提供与Fusion 360 API的实际集成。

安装

服务器和客户端

  1. 克隆此存储库或将文件复制到所需位置。

  2. 请确保您已安装Python 3.6+。

  3. 基本功能不需要额外的Python包,因为实现只使用标准库模块。

  4. 要启用LLM功能,请安装可选 openai 包裹:

    pip install openai
    

Fusion 360插件

  1. 复制包含以下内容的整个文件夹 fusion360_mcp_addin.py, client.py,以及 resources Fusion 360的目录 外接程序 目录。确保 resources/MCPIcon 文件夹包含所需的图标文件(32x32-normal.png 和 16x16-normal.png).
  2. 在Fusion 360中,打开“脚本和加载项”对话框(按 Shift+S 或者在“实用程序”下的“设计”工作区中找到它)。
  3. 在“加载项”选项卡上选择 从我的计算机加载 (在某些版本上为“从设备加载”),然后选择此文件夹。选择文件夹将启动加载项。
  4. 点击“运行”或启用“启动时运行”,以便在Fusion 360启动时自动加载。

用法

启动服务器

  1. 打开命令提示符或终端。
  2. 导航到包含服务器文件的目录。
  3. 运行服务器:
python server.py

默认情况下,服务器将侦听 127.0.0.1:8080。您可以修改主机 如果需要,在代码中输入端口。设置 OPENAI_API_KEY 环境变量if 您计划使用LLM集成。

将Fusion 360连接到服务器

  1. 启动Fusion 360并确保MCP插件正在运行。
  2. 在Fusion 360中,查找“MCP控制”面板。
  3. 单击“连接到MCP服务器”按钮。
  4. 输入服务器主机和端口,然后单击“确定”。
  5. 如果成功,您将看到一条确认消息。

使用客户端

您可以使用提供的客户端实现连接到服务器并与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()

协议

服务器和客户端通过TCP套接字使用简单的基于JSON的协议进行通信。每条消息都是一个JSON对象,至少有一个 type 指示消息类型的字段。

消息类型

  • fusion_command:在Fusion 360中执行命令
  • get_model_info:请求有关当前型号的信息
  • command_result:包含命令执行结果的响应
  • model_info:包含模型信息的响应
  • llm_request:请求从配置的LLM生成文本
  • llm_result:包含LLM输出的响应

扩展

您可以扩展服务器和插件以支持其他功能:

  1. 向协议添加新的消息类型
  2. 在服务器中实现这些消息类型的处理程序
  3. 向客户端添加相应的方法
  4. 在Fusion 360插件中实现实际功能

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。

贡献

欢迎投稿!请随时提交拉取请求。

备注

  • Fusion 360(2601.1.34)MCP插件拒绝安装,错误指示有多个文件。
    • 创建一个新的加载项(python),编辑,将fusion360_mcp_addin.py源代码复制到新文件中,保存,打开新文件位置,将client.py和资源文件夹复制到该位置,重新启动Fusion 360。