项目简介

这是一个为 Autodesk Fusion 360 创建的 Model Context Protocol (MCP) 服务器实现。它作为 Fusion 360 的一个插件运行,允许兼容 MCP 协议的 AI 助手(如大型语言模型客户端)直接访问 Fusion 360 的设计数据并执行 CAD 操作。

主要功能点

  • 访问设计资源: 允许 AI 助手获取当前活动设计的详细信息,包括文档基本信息、设计结构(组件、实体、草图等)和用户参数列表。
  • 调用 CAD 工具: 提供标准化的接口,使 AI 助手能够触发 Fusion 360 中的特定操作,例如创建新草图、创建或修改用户参数、以及在 Fusion 360 用户界面显示消息框。
  • 获取 Prompt 模板: 为 AI 助手提供预定义的、针对 CAD 任务优化的 Prompt 模板,帮助 AI 更好地理解用户意图并生成相关的 CAD 指令或建议。
  • 灵活的通信方式: 主要通过基于 HTTP Server-Sent Events (SSE) 的 MCP 标准协议进行通信,同时也实现了一个基于文件的备用通信机制,以适应不同环境的需求。

安装步骤

  1. 安装 Autodesk Fusion 360: 确保您的计算机上已安装 Fusion 360。
  2. 安装 MCP Python SDK: Fusion 360 使用其独立的 Python 环境。您需要将 MCP 及其依赖包安装到这个环境中。
    • 推荐方法: 运行仓库提供的 'install_mcp_for_fusion.py' 脚本。打开命令行或终端,进入仓库目录,然后运行 'python install_mcp_for_fusion.py'。该脚本会自动尝试找到 Fusion 360 的 Python 环境并安装所需的 'mcp[cli]' 和 'uvicorn' 包。
    • 手动方法: 如果脚本无法找到环境,您需要手动定位 Fusion 360 的 'python.exe'(通常在 'AppData\Local\Autodesk\webdeploy\production[版本号]\Python' 或安装目录下的类似路径)。然后在命令行中使用该 'python.exe' 执行安装命令:'"[Fusion Python Path]\python.exe" -m pip install "mcp[cli]" uvicorn'。
  3. 安装 Fusion 360 Add-in:
    • 打开 Fusion 360。
    • 切换到“工具”选项卡,点击“插件”下拉菜单中的“脚本和插件”。
    • 在弹出的对话框中,选择“我的插件”标签页。
    • 点击绿色的“+”按钮。
    • 浏览并选择您下载的仓库中的 'MCPserve' 文件夹。
    • 点击“打开”将其添加到插件列表。
    • 选中列表中的 'MCPserve',然后点击“运行”来启动服务器插件。

服务器配置

该 MCP 服务器作为 Fusion 360 插件运行,并在启动后自动在本地网络端口 '3000' 上监听。MCP 客户端(如支持 MCP 的 AI 助手)连接到此服务器时,通常需要知道服务器的地址和名称。以下是客户端连接可能需要的配置信息示例(客户端不需要 'command' 和 'args' 来启动服务器,因为服务器是由 Fusion 360 插件启动的,它们仅用于客户端识别服务器类型):

{
  "server_name": "Fusion 360 MCP Server",
  "description": "提供对 Fusion 360 设计数据和功能的访问。",
  // 以下 command 和 args 字段在此特定实现中仅用于信息目的,
  // 因为服务器由 Fusion 360 插件启动,客户端无需执行此命令。
  // 实际连接是通过 server_url 进行的。
  "command": "(由 Fusion 360 插件管理)", 
  "args": [],
  "server_url": "http://127.0.0.1:3000/sse"
  // MCP 客户端应连接到此 URL(使用 HTTP SSE 协议)。
}

当插件在 Fusion 360 中成功运行时,服务器将会在 'http://127.0.0.1:3000/sse' 地址提供服务。

基本使用方法

  1. 确保 Fusion 360 正在运行,并且 'MCPserve' Add-in 已成功运行。
  2. 配置您的 MCP 客户端(AI 助手)连接到 'http://127.00.1:3000/sse'。
  3. AI 助手现在可以通过标准 MCP 协议向该地址发送 JSON-RPC 请求,以访问 Fusion 360 的资源、调用工具或获取 Prompt。
  4. 您可以使用仓库中的 'client.py' 脚本来测试服务器功能,例如运行 'python client.py --list-resources' 来查看可用的资源。

信息

分类

桌面与硬件