Fusion 360模型控制协议桥

FusionMCP是一个Autodesk Fusion 360的插件,通过HTTP API暴露本地端口7432,允许MCP客户端(如Claude Code等)以编程方式控制Fusion 360。

  • by fozzfut
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 fozzfut/FusionMCP

使用说明

FusionMCP

Autodesk Fusion 360的MCP(模型上下文协议)桥。作为Fusion 360插件运行,在上公开HTTP API localhost:7432 MCP客户端(Claude Code等)可用于以编程方式控制Fusion 360。

特性

  • 素描:矩形、圆形、直线、圆弧、多边形、椭圆、样条曲线、槽、文本、约束、尺寸
  • 三维建模:拉伸、旋转、放样、扫掠、螺旋、管道、孔、壳、圆角、倒角、拔模斜度、螺纹
  • 车身操作:移动、旋转、缩放、镜像、复制、组合、图案(矩形/圆形)
  • 组件和装配:重命名、删除、切换可见性、激活(就地编辑)、列出引用树、创建关节
  • 文档管理:列出打开的文档,在文档之间切换
  • 参数:创建、更新、列出用户/模型参数
  • 外观:列出/应用外观,设置车身颜色
  • 出口:STL、STEP、3MF、F3D、截图
  • 取消/重做:基于时间线的撤消/重做,具有自动操作分组功能
  • 脚本编写:在Fusion 360中执行任意Python代码(可选通过 FUSION_MCP_TOKEN)

安装

  1. 复制 FusionMCP 文件夹到Fusion 360加载项目录:
    • 视窗: %APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\
    • macOS: ~/Library/Application Support/Autodesk/Autodesk Fusion 360/API/AddIns/
  2. 在Fusion 360中,转到 工具>加载项>脚本和加载项
  3. 启用 FusionMCP 并选中“启动时运行”
  4. 配置您的MCP客户端以连接到 http://localhost:7432

MCP客户端配置

添加到MCP客户端配置中(例如,Claude Code settings.json):

{
  "mcpServers": {
    "fusion360": {
      "url": "http://localhost:7432"
    }
  }
}

安全

服务器只监听 127.0.0.1 (本地主机)。为了增强安全性 execute_script,设置 FUSION_MCP_TOKEN 启动Fusion 360之前的环境变量。设置后,所有 execute_script 调用必须包含匹配项 token 参数。

API

所有命令都通过POST发送到 http://localhost:7432 使用JSON正文:

{
  "command": "command_name",
  "params": { ... }
}

可用命令(~80)

类别 命令
资讯 fusion_status, get_info, get_bodies_info, get_face_info, get_edge_info, get_sketch_info, get_timeline_info, measure_body, measure_between
草图 create_sketch, create_sketch_on_face, finish_sketch, delete_sketch, draw_rectangle, draw_center_rectangle, draw_circle, draw_line, draw_arc, draw_polygon, draw_ellipse, draw_spline, draw_slot, draw_text, add_sketch_fillet, offset_sketch, mirror_sketch, rectangular_pattern_sketch, add_constraint, add_sketch_dimension
3D功能 extrude, revolve, loft, sweep, helix, create_pipe, create_hole, shell, fillet, chamfer, press_pull, thicken, draft_face, add_thread
尸体 delete_body, rename_body, copy_body, move_body, rotate_body, scale_body, mirror_body, combine_bodies, toggle_body_visibility, rectangular_pattern_body, circular_pattern_body
组件 rename_component, delete_occurrence, toggle_component_visibility, list_occurrences_tree, activate_component, get_component_info, create_component, move_body_to_component
组装 create_joint, create_as_built_joint
文件 list_documents, switch_document, create_new_document, clear_design, save, save_as
参数 add_parameter, update_parameter, list_parameters
外观 list_appearances, apply_appearance, set_body_color
建筑业 add_construction_plane, add_construction_axis
出口 export_stl, export_step, export_3mf, export_f3d, capture_screenshot
历史 undo, redo
脚本 execute_script

事务管理

所有变异命令都会自动包装在时间线组中,以便进行原子撤消/重做。只读命令(查询、列表)跳过分组以提高性能。这 undo 命令使用 timeline.markerPosition 以实现可靠的回滚。

超时

  • 导出和脚本命令:120秒
  • 所有其他命令:30秒

建筑

Claude Code / MCP Client
    |
    | HTTP POST (JSON)
    v
ThreadingHTTPServer (:7432)         [worker thread]
    |
    | queue + custom event
    v
MCPEventHandler.notify()            [Fusion main thread]
    |
    | _process_command() -> dispatch table
    v
Fusion 360 API (adsk.fusion)

关键设计决策(记录为swarm kb中的ADR):

  • ADR-e7d6450a:用于组件管理的通用CRUD上的平面命令
  • ADR-a9033d5e:事务手动开始/提交的上下文管理器
  • ADR-03e47f13:基于即时模块拆分的三阶段实用重构

路线图

  • [x] 组件/事件管理(重命名、删除、可见性、激活)
  • [x] 带有层次结构的完整组装树列表
  • [x] 文档管理(列表、切换)
  • [x] 通过时间线标记改进撤消/重做
  • [x] 自动交易分组
  • [x] 线程安全(锁、ThreadingHTTPServer)
  • []基于路径的寻址(Component/SubComp/Body 语法)
  • []CAM工作空间集成
  • []二维图形生成
  • []干扰检测和质量特性
  • []草图修剪/延伸/投影
  • []批量操作

许可证

麻省理工学院