Skip to main content
Glama
ffelipev2

Fusion MCP para Codex

by ffelipev2

Fusion MCP 用于 Codex

本项目包含一个 Codex 本地插件和一个 Fusion 360 的 add-in。其思路是让 Codex 能够通过 MCP 检查和自动化 Autodesk Fusion 360。

架构

  • server/main.py:Codex 通过 stdio 启动的本地 MCP 服务器

  • fusion_addin/FusionCodexBridge/:Fusion 360 的 add-in,在 127.0.0.1:19851 上暴露一个本地 HTTP bridge

  • .mcp.json:告诉 Codex 如何启动本地 MCP 服务器

MCP 服务器通过经过身份验证的 HTTP 与 Fusion 的 add-in 通信。安装程序会生成一个本地私有令牌,两个进程都从 %LOCALAPPDATA%\FusionMCP\credentials.json 读取该令牌;add-in 会拒绝未携带令牌的请求。add-in 使用自定义事件在 Fusion 的主线程上执行已授权的任务。manifest 以 runOnStartup=true 安装 FusionCodexBridge,以便在打开 Fusion 时自动启动 bridge。POST 请求的 JSON 主体默认限制为 1 MiB,fusion_run_script 除非显式选择加入,否则保持禁用状态。

/health 端点返回 bridge 的版本和 protocolVersion。MCP 客户端在执行常规工具之前会进行兼容性检查,如果 Fusion 仍在运行旧版 add-in,则会给出引导式错误;fusion_ping 和 fusion_reload_bridge 可用于诊断和重新加载。

Related MCP server: Fusion360 MCP Server

MCP 暴露的工具

  • fusion_ping

  • fusion_status

  • fusion_reload_bridge

  • fusion_list_documents

  • fusion_active_design_summary

  • fusion_list_user_parameters

  • fusion_list_all_parameters

  • fusion_find_entities

  • fusion_resolve_entity_token

  • fusion_list_bodies

  • fusion_list_surface_bodies

  • fusion_list_mesh_bodies

  • fusion_printability_report

  • fusion_list_sketches

  • fusion_list_sketch_curves

  • fusion_list_sketch_profiles

  • fusion_inspect_sketch

  • fusion_list_components

  • fusion_list_construction_planes

  • fusion_list_construction_geometry

  • fusion_list_available_appearances

  • fusion_list_available_materials

  • fusion_list_body_topology

  • fusion_inspect_body_physical_properties

  • fusion_upsert_user_parameter

  • fusion_delete_user_parameter

  • fusion_create_rectangle_sketch

  • fusion_create_circle_sketch

  • fusion_create_line_sketch

  • fusion_create_arc_sketch

  • fusion_create_ellipse_sketch

  • fusion_create_fitted_spline_sketch

  • fusion_create_text_sketch

  • fusion_create_conic_sketch

  • fusion_create_polyline_sketch

  • fusion_create_polygon_sketch

  • fusion_create_slot_sketch

  • fusion_offset_sketch_curves

  • fusion_trim_sketch_curve

  • fusion_extend_sketch_curve

  • fusion_fillet_sketch_curves

  • fusion_chamfer_sketch_lines

  • fusion_project_entities_to_sketch

  • fusion_intersect_entities_with_sketch_plane

  • fusion_project_curves_to_surface

  • fusion_move_sketch_entities

  • fusion_copy_sketch_entities

  • fusion_mirror_sketch_entities

  • fusion_rectangular_pattern_sketch_entities

  • fusion_circular_pattern_sketch_entities

  • fusion_add_sketch_constraint

  • fusion_add_sketch_dimension

  • fusion_set_sketch_dimension_expression

  • fusion_delete_sketch_constraint

  • fusion_delete_sketch_dimension

  • fusion_create_offset_construction_plane

  • fusion_create_midplane

  • fusion_create_angled_construction_plane

  • fusion_create_construction_point_from_sketch_point

  • fusion_create_construction_axis_by_two_points

  • fusion_create_construction_plane_by_three_points

  • fusion_rename_construction_entity

  • fusion_delete_construction_entity

  • fusion_revolve_profile

  • fusion_sweep_profile

  • fusion_loft_profiles

  • fusion_scale_bodies

  • fusion_split_body

  • fusion_preview_boundary_fill_cells

  • fusion_create_boundary_fill

  • fusion_create_silhouette_split

  • fusion_merge_faces

  • fusion_create_emboss

  • fusion_create_derive

  • fusion_split_faces

  • fusion_delete_faces

  • fusion_draft_faces

  • fusion_thread_faces

  • fusion_thicken_faces

  • fusion_replace_faces

  • fusion_patch_profile

  • fusion_stitch_surface_bodies

  • fusion_unstitch_faces

  • fusion_extend_surface_edges

  • fusion_create_ruled_surface

  • fusion_untrim_surface_faces

  • fusion_trim_surfaces

  • fusion_rename_mesh_body

  • fusion_set_mesh_body_visibility

  • fusion_set_mesh_body_appearance

  • fusion_delete_mesh_body

  • fusion_import_mesh

  • fusion_convert_mesh_to_brep

  • fusion_reduce_mesh

  • fusion_repair_mesh

  • fusion_combine_mesh_bodies

  • fusion_list_sheet_metal_rules

  • fusion_create_sheet_metal_rule

  • fusion_activate_sheet_metal_rule

  • fusion_create_open_hem

  • fusion_create_sheet_metal_rip

  • fusion_create_box

  • fusion_create_plate_with_holes

  • fusion_create_printable_svg_plate

  • fusion_create_cylinder

  • fusion_extrude_profile

  • fusion_create_hole

  • fusion_fillet_edges

  • fusion_chamfer_edges

  • fusion_combine_bodies

  • fusion_shell_body

  • fusion_mirror_bodies

  • fusion_rectangular_pattern_bodies

  • fusion_circular_pattern_bodies

  • fusion_translate_bodies

  • fusion_rotate_bodies

  • fusion_rename_sketch

  • fusion_set_sketch_visibility

  • fusion_delete_sketch

  • fusion_delete_body

  • fusion_set_body_appearance

  • fusion_set_face_appearance

  • fusion_set_body_material

  • fusion_rename_body

  • fusion_set_body_visibility

  • fusion_rename_construction_plane

  • fusion_delete_construction_plane

  • fusion_create_component

  • fusion_list_component_entities

  • fusion_rename_component

  • fusion_set_component_visibility

  • fusion_activate_component

  • fusion_delete_component

  • fusion_translate_component

  • fusion_create_box_in_component

  • fusion_create_cylinder_in_component

  • fusion_extrude_component_profile

  • fusion_list_assembly_tree

  • fusion_list_occurrence_entities

  • fusion_list_occurrence_topology

  • fusion_create_nested_component

  • fusion_move_occurrence_to_component

  • fusion_copy_paste_bodies

  • fusion_cut_paste_bodies

  • fusion_translate_occurrence

  • fusion_set_occurrence_grounded

  • fusion_create_rigid_group

  • fusion_analyze_assembly_interference

  • fusion_create_joint

  • fusion_create_joint_origin

  • fusion_list_joint_origins

  • fusion_activate_manufacture_workspace

  • fusion_manufacture_status

  • fusion_list_cam_setups

  • fusion_create_milling_setup

  • fusion_list_cam_strategies

  • fusion_generate_toolpaths

  • fusion_list_cam_parameters

  • fusion_set_cam_parameter

  • fusion_rename_cam_setup

  • fusion_delete_cam_setup

  • fusion_rename_cam_operation

  • fusion_set_cam_operation_suppression

  • fusion_delete_cam_operation

  • fusion_list_document_cam_tools

  • fusion_list_cam_tool_library

  • fusion_create_cam_operation

  • fusion_list_cam_post_processors

  • fusion_list_nc_programs

  • fusion_create_nc_program

  • fusion_postprocess_nc_program

  • fusion_list_cam_machines

  • fusion_assign_cam_machine

  • fusion_drawing_status

  • fusion_export_drawing_pdf

  • fusion_list_workspaces

  • fusion_activate_workspace

  • fusion_viewport_status

  • fusion_set_camera

  • fusion_set_viewport_visual_style

  • fusion_toggle_mesh_face_groups

  • fusion_capture_viewport

  • fusion_start_local_render

  • fusion_list_render_jobs

  • fusion_capture_parameter_animation

  • fusion_create_document

  • fusion_list_cloud_projects

  • fusion_save_document_as

  • fusion_activate_document

  • fusion_save_document

  • fusion_close_document

  • fusion_list_timeline

  • fusion_rename_timeline_object

  • fusion_set_timeline_suppression

  • fusion_delete_timeline_object

  • fusion_inspect_timeline_dependencies

  • fusion_export_step

  • fusion_export_stl

  • fusion_export_printable_stl

  • fusion_import_step

  • fusion_export_sketch_dxf

  • fusion_import_dxf

  • fusion_import_svg

  • fusion_export_cad

  • fusion_import_cad

  • fusion_run_script

草图创建工具可以在原始平面(xy、xz、yz)上工作,也可以使用 construction_plane_index 在自定义构造平面上工作。

fusion_find_entities 按名称搜索 bodies、草图、组件和自定义平面。支持 exact、contains 和 fuzzy,并返回带有其他工具所期望索引的选择器。

检查响应在 Fusion 支持时包含 entityToken。fusion_resolve_entity_token 允许在时间轴更改后恢复实体及其当前索引。

要添加约束或尺寸,请先使用 fusion_list_sketch_curves 和 fusion_inspect_sketch;它们的索引在编辑后可能会改变。fusion_list_sketch_profiles 列出可拉伸的轮廓,包含面积、质心、边界框和环;当复杂的 SVG 或徽标生成许多区域时,用它来选择 profile_indices。fusion_add_sketch_constraint 涵盖水平、垂直、平行、垂直(正交)、相等、相切、同心、共线、重合、中点、对称、平滑、固定和解除固定。fusion_add_sketch_dimension 通过 Fusion 表达式涵盖长度、水平、垂直、对齐、角度、直径和半径;线性尺寸接受一条线或两个点,角度尺寸需要两条线。使用 fusion_set_sketch_dimension_expression 编辑尺寸,使用 fusion_delete_sketch_* 工具删除选定的尺寸或约束。

fusion_save_document 保存先前已保存文档的新版本。对于首次保存或创建副本,请使用 fusion_list_cloud_projects,然后使用 fusion_save_document_as 并指定 project_id 和 Fusion Team 中现有文件夹的路径。

时间轴工具可能会影响依赖的 feature 和几何体。建议在抑制或删除元素之前先运行 fusion_list_timeline。

fusion_inspect_body_physical_properties 返回根 body 的质量、密度、质心和惯性矩。精度可以是 low(±1%)、medium(±0.5%)、high(±0.1%)或 very_high(±0.01%);精度越高耗时越长。 fusion_inspect_timeline_dependencies 返回关联的 feature 以及与该元素关联的参数之间的关系。

HTTP 错误现在保留 Fusion 内部生成的详细消息。如果 bridge 未激活,Codex 会直接指示如何启动 FusionCodexBridge。重新安装 add-in 更改后,fusion_reload_bridge 会安排在 Fusion 内重启 bridge 以加载已安装的版本;如果 Codex 仍未显示新工具,请重启 Codex 或重新打开插件选择器以刷新 MCP 目录。

fusion_thread_faces、fusion_thicken_faces 和 fusion_replace_faces 使用从 fusion_list_body_topology 获取的索引。Fusion 目前不提供用于创建 Rib/Web 的公共 API;RibFeatures 仅允许检查现有 feature。

fusion_export_cad 和 fusion_import_cad 支持 iges、sat 和 smt。DXF 使用单独的工具,因为该格式适用于草图和 2D 平面。fusion_export_printable_stl 在导出根组件或特定 body 的 STL 之前运行基本的可打印性检查,并返回报告以及生成的文件。fusion_import_svg 将 SVG 导入到原始平面或构造平面上的新草图中,支持偏移和缩放。对于直接可打印的板件,fusion_create_printable_svg_plate 创建矩形实体底座,将 SVG 导入到顶面上,并将其轮廓拉伸为合并浮雕、分离浮雕或切割。在复杂的 SVG 中,可以使用 profile_selection(all、largest、area_desc、outer_only)和 min_profile_area_cm2 来排除噪点;profile_indices 仍可用于精确的手动选择。

非根组件内的操作涵盖长方体、圆柱体和轮廓拉伸。对于嵌套装配,使用 fusion_list_assembly_tree:它返回 fullPathName,这是嵌套 occurrence 的检查、创建、移动和变换工具所使用的稳定选择器。fusion_copy_paste_bodies 和 fusion_cut_paste_bodies 使用源组件的局部索引;根组件路径留空。剪切/粘贴会移动实体,并要求 allow_move_bodies=true。一个 occurrence 表示一个组件定义:当该定义有多个实例时,复制或移动实体可能会影响所有实例;该工具在执行前会要求额外确认。在创建 joint 之前,使用 fusion_list_occurrence_topology 获取每个 occurrence 上下文中的面索引。fusion_create_joint 的 MVP 支持平面和 rigid 或 revolute 连接;创建连接时,第二个 occurrence 可以重新定位。fusion_set_occurrence_grounded、fusion_create_rigid_group 和 fusion_analyze_assembly_interference 都作用于 occurrence 路径,最后一个不会修改设计。

Surface 支持列出曲面、补片、缝合、取消缝合、延伸、直纹曲面、修剪、取消修剪,以及复用 fusion_thicken_faces。在 fusion_trim_surfaces 中,首先使用 selected_cell_indices=[] 获取索引预览,然后使用要删除的单元格索引重复调用。

Mesh 支持导入 STL/OBJ/3MF、检查和管理实体、指定外观,以及转换、简化、修复和组合。fusion_printability_report 会检查可见根实体上用于 3D 打印的基本几何条件:实体 B-Rep 或封闭/朝向正确且具有正体积的网格。它有助于检测诸如 volumeCm3 为零的开口网格等视觉案例,但最终验证仍由切片器负责。fusion_create_printable_svg_plate 在创建平板后返回该报告,以避免最终只得到纯视觉几何体。这四个修改操作使用 Autodesk 预览 API,可能并非所有安装都可用;在这种情况下,该工具会返回引导式说明。

Sheet Metal 的初始映射涵盖规则、规则激活、开口折边,以及在一个现有钣金实体上创建 rip。Autodesk 目前未在公共 API 中公开 base flange/flange 的创建功能。

Manufacture 支持激活工作空间、检查 setup/操作/参数、创建铣削 setup、编辑 CAM 表达式、重命名/抑制/删除元素、发现兼容策略并生成刀具路径。它还支持查询文档中的刀具或通过 URL 查询刀具库、创建任何与 tool 和表达式兼容的 strategy、查询/分配机床、搜索后处理器、创建 NCProgram 并执行后处理。

推荐的 CAM 流程:创建或检查一个 setup,查询 fusion_list_cam_strategies,使用 fusion_list_document_cam_tools 或 fusion_list_cam_tool_library 选择刀具,使用 fusion_create_cam_operation 创建操作并生成其刀具路径。对于 NC 代码,查找机床/后处理器,创建程序并检查其索引,然后再使用 confirm_postprocess=true 执行 fusion_postprocess_nc_program。输出目录必须存在,机床、刀具、原点与碰撞的最终验证仍由操作员负责。

Drawing 支持检查活动文档/图纸页,并将所有图纸页或一个范围导出为 PDF。Drawing 的公共 API 尚未公开一个完整的集合,用于以编程方式创建和编辑所有图纸页、视图和标注。

Render/Animation 包括相机读取与控制、视口视觉样式控制、视口捕获、异步本地渲染和作业跟踪。不带 output_path 的 fusion_capture_viewport 会返回一个内联 PNG(最大 20 MiB),并在结束前删除临时文件;这是推荐用于视觉检查的方式。若要保留捕获或生成更大的图像,请传入显式的 output_path 和 persist=true;出于兼容性,旧的调用如果已提供路径,则仍然会持久化。异步渲染和动画仍然写入用户指定的显式路径。fusion_toggle_mesh_face_groups 可在 Fusion 隐藏材质并显示面组颜色时,关闭/打开网格面组的显示。fusion_capture_parameter_animation 对一个参数的表达式进行插值,可让相机环绕,写入 PNG 序列,并恢复原始参数/相机;最终的视频合并不在 Fusion 中完成。

fusion_list_workspaces 和 fusion_activate_workspace 支持按 ID 发现和激活工作空间。在 Simulation 中,这仅涵盖导航:Autodesk 目前没有发布与 adsk.cam 等效的、用于创建和求解仿真研究的 API 模型。

fusion_split_body 目前使用原始平面或现有的构造平面作为切割工具。将来可以扩展为使用轮廓、面或实体作为分割工具。

对于 Boundary Fill,首先使用 body 和/或 construction_plane 的选择器调用 fusion_preview_boundary_fill_cells:它会返回每个临时单元格的体积、面积、面和包围盒。然后立即以相同的顺序、使用相同的选择器调用 fusion_create_boundary_fill,并传入你想要保留的 selected_cell_indices。这些索引是临时的,编辑模型后不得重复使用。operation 支持 new_body、join、cut 或 intersect;remove_tool_bodies 还要求 allow_remove_tools=true,因为它会删除用作工具的实体。

fusion_create_silhouette_split 在根实体上计算一条轮廓分割线。方向接受 construction_axis、construction_plane、线性边或平面;faces_only 是默认的非破坏性模式,而 shelled_body 和 solid_body 会分割实体。Fusion 将此功能限制为兼容的实体;球体是验证此流程的简单示例。

fusion_merge_faces 合并同一实体或曲面实体上相连的面,但仅限 Direct Modeling 设计。这是一种直接的 B-Rep 编辑:不会创建特征或时间轴条目,因此要求 allow_direct_modification=true。使用 is_chain_selection=true 可将种子面沿兼容的连接链扩展。

fusion_create_emboss 将草图轮廓映射到根实体的一个面上。使用正的深度创建浮雕,使用负的深度创建雕刻;表达式接受单位或 Fusion 参数。MVP 每次调用公开一个轮廓和一个面,并支持可选的偏移和旋转。它需要 Fusion 于 2025 年 9 月引入的 Emboss API;如果不可用,则返回引导式提示。

fusion_create_derive 从另一个已在 Fusion 中打开并保存的设计文档创建派生链接。使用 fusion_list_documents 确定 source_document_index;作为源实体,它接受 root_component、body、mesh_body、sketch、construction_plane 或 occurrence。活动文档始终是目标,并且不能从自身派生。该工具需要 2026 年 1 月引入的 Derive API。

fusion_split_faces 接受 body、face、sketch_curve 或 construction_plane 的选择器作为工具;支持 surface_intersection、closest_point 和 along_vector 模式。fusion_delete_faces 默认使用 heal,让 Fusion 尝试修复实体。surface 模式删除时不进行修复,并要求 allow_make_surface=true,因为它可能留下开放的曲面实体。所有 fusion_delete_* 工具现在都要求目标选择器和 confirm_delete=true;在确认之前,请立即列出或检查目标。不保存关闭需要 save_changes=false 和 confirm_discard_changes=true。

fusion_draft_faces 使用中性平面对实体上的面应用拔模。通常应先使用 fusion_list_body_topology 获取 face_indices。

本地测试

要在不打开 Fusion 的情况下运行可用的单元测试和契约测试:

python -m unittest discover -s tests

该测试集还会验证 README 中的工具列表、ROADMAP 中的计数、bridge/plugin/manifest 的版本以及 MCP 协议保持同步。

要对两个主要的 Python 入口点进行快速语法检查:

python -m py_compile server/main.py fusion_addin/FusionCodexBridge/FusionCodexBridge.py

要在打开 Fusion 并启用 bridge 的情况下运行真实的 3D 打印冒烟测试:

python .\scripts\smoke_printable_svg.py

该冒烟测试会创建一个一次性文档,从 SVG 生成平板,使用 fusion_export_printable_stl 导出 STL,验证文件是否存在,然后不保存地关闭文档。产物保留在 scratch/fusion-smoke 中。

要在打开 Fusion 并启用 bridge 的情况下运行一个真实的基础草图冒烟测试:

python .\scripts\smoke_sketch_basics.py

该冒烟测试会创建一个一次性文档,生成矩形、圆形、直线、圆弧、多段线、多边形和槽的草图,测试偏移、约束、尺寸标注和检查,然后不保存地关闭文档。

要求

  • Windows 上安装 Python 3.10 或更高版本,且 python 可在 PATH 中使用

  • Autodesk Fusion 360

安全配置

  • fusion_run_script 默认处于禁用状态。要审慎地启用它,请为 MCP 进程和 Fusion 360 都设置 FUSION_MCP_ENABLE_RUN_SCRIPT=1,然后重启两者。该脚本将以用户拥有的全部权限运行,因此应优先使用专用工具。

  • FUSION_MCP_MAX_REQUEST_BODY_BYTES 调整 bridge 的 JSON 负载大小限制。默认值为 1 MiB,最大接受值为 16 MiB。

  • 删除、放弃更改和后处理操作要求显式的确认标志;这些标志不能替代对目标的事先检查。

Windows 上的推荐安装

如果你本地已有此仓库,最快的安装方式是:

powershell -ExecutionPolicy Bypass -File .\scripts\install-fusion-mcp.ps1

该安装程序会执行以下操作:

  • 生成或保留一个随机私有凭据,用于在 MCP 与 Fusion 之间进行身份验证

  • 保护凭据文件,并在创建其专用文件夹时,仅将该文件夹的权限限制为当前用户;不会更改已存在的父文件夹的 ACL

  • 根据允许的文件列表构建插件,并将其复制到 ~/plugins/fusion-mcp,不包含捕获、备份、CAD 或其他工作区产物

  • 通过 manifest 验证插件和 add-in 的安装目标;拒绝与仓库重叠的路径、无法识别的文件夹、junction 以及受管目标内的状态文件

  • 通过候选版本 + 后备版本发布 runtime;如果 marketplace 发布失败,则恢复之前的版本

  • 发布 runtime 后,通过原子替换更新 ~/.agents/plugins/marketplace.json

  • 安装 requirements.txt 中的依赖

  • 如果 %APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\FusionCodexBridge 文件夹存在,则将 Fusion 的 add-in 复制到该路径;否则使用 %APPDATA%\Autodesk\Autodesk Fusion\API\AddIns\FusionCodexBridge

  • 同步这些安装文件夹,并删除旧版本遗留的过时文件

  • 如果在 Autodesk 的备用路径中发现另一份 FusionCodexBridge 副本,则发出警告,因为 Fusion 可能正在加载旧副本

如果你只想安装 Codex 部分,还不想复制 Fusion 的 add-in,可以使用:

powershell -ExecutionPolicy Bypass -File .\scripts\install-fusion-mcp.ps1 -SkipFusionAddIn

分步使其运行

  1. 在仓库根目录打开终端。

  2. 运行安装程序:

    powershell -ExecutionPolicy Bypass -File .\scripts\install-fusion-mcp.ps1
  3. 打开 Fusion 360。

  4. 在 Fusion 中,进入 Utilities > Add-Ins > Scripts and Add-Ins。

  5. 前往 Add-Ins 选项卡。

  6. 如果列表显示为空,请先清除筛选条件,再假定加载项缺失。

  7. 找到 FusionCodexBridge 并使用 Run 运行它。

  8. 如果 FusionCodexBridge 没有出现在列表中,使用 + 按钮并手动指向以下文件夹之一:

    • %APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\FusionCodexBridge

    • %APPDATA%\Autodesk\Autodesk Fusion\API\AddIns\FusionCodexBridge

  9. 验证 Fusion 本地 bridge 是否正在运行:

    $credential = Get-Content "$env:LOCALAPPDATA\FusionMCP\credentials.json" -Raw | ConvertFrom-Json
    Invoke-RestMethod http://127.0.0.1:19851/health -Headers @{ Authorization = "Bearer $($credential.token)" }

    你应该会收到一个 JSON 响应,其中包含 "ok": true。

  10. 如有必要,重新启动 Codex 或重新加载 VS Code 窗口。

  11. 如果你使用 Codex CLI 或 Codex 应用,请仅注册一次 MCP 服务器:

codex mcp add fusion-local -- python "$HOME\plugins\fusion-mcp\server\main.py"
  1. 检查服务器是否已成功注册:

codex mcp list
  1. 返回 Codex,并尝试一条简单指令,例如:

  • revisa el diseño activo en Fusion

  • haz un fusion_status

  • crea una caja de 10x6x3 cm

手动安装

手动安装同样要求 MCP 与 Fusion 通过 FUSION_MCP_TOKEN 或由 FUSION_MCP_CREDENTIALS_FILE 指定的 JSON 文件共享一个至少 32 个字符的令牌。为避免权限和配置错误,建议至少运行一次安装程序。

如果你不想使用安装程序,也可以手动完成整个过程:

  1. 安装 Python 依赖:

    pip install -r requirements.txt
  2. 将 fusion_addin/FusionCodexBridge/ 复制到 Fusion 的 Add-Ins 文件夹:

    • %APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\

    • 或 %APPDATA%\Autodesk\Autodesk Fusion\API\AddIns\

  3. 在 Codex 中注册 MCP 服务器:

    codex mcp add fusion-local -- python "$PWD\server\main.py"
  4. 打开 Fusion 360,并从 Utilities > Add-Ins > Scripts and Add-Ins 执行 FusionCodexBridge。

故障排除

  • 如果 Fusion 显示的加载项列表为空,请先清除 Scripts and Add-Ins 窗口中的筛选条件。

  • 如果 VS Code 显示 No MCP Servers found,请执行 Developer: Reload Window,然后再次使用 MCP: List Servers。

  • 不要在 VS Code 扩展市场中搜索 fusion-local。它是一个本地 MCP 服务器,不是市场扩展。

  • 如果 Codex 能看到服务器,但针对 Fusion 的操作失败,请使用上面的 /health 检查命令,或运行 fusion_ping;所有端点都需要本地 Bearer 令牌。

  • 如果 Codex 报告 bridge 不兼容或缺少 protocolVersion,请运行 powershell -ExecutionPolicy Bypass -File .\scripts\install-fusion-mcp.ps1,然后运行 fusion_reload_bridge 或重启 Fusion。

  • 如果安装程序提示存在另一个 FusionCodexBridge 副本,请打开 Scripts and Add-Ins,并确认你正在运行安装程序打印出的更新后的文件夹。

  • 如果你收到 Unauthorized Fusion MCP request,请重新运行安装程序,并重启 Codex 和加载项,使两者使用相同的凭据。

  • 如果安装程序拒绝现有的凭据文件,请检查 CredentialPath 是否正确。若要重新生成确实已损坏的凭据,请显式移动或删除该文件,然后重新运行安装程序;安装程序不会覆盖未知文件。

  • 不要复制或发布 %LOCALAPPDATA%\FusionMCP\credentials.json;安装程序永远不会显示该令牌。

备注

  • fusion_run_script 会在 Fusion 内部运行 Python,并拥有完整的 API 访问权限,默认处于禁用状态。请仅对可信代码使用,并且需要显式选择加入。

  • 所有端点(包括 /health)都需要安装期间生成的 Bearer 令牌。

  • 脚本工具会返回赋给 result 变量的值。

  • 如果 bridge 未运行,请在启动加载项后先用 fusion_ping 或 fusion_status 进行测试。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to generate Autodesk Fusion 360 Python scripts through natural language commands, using the Model Context Protocol (MCP) for tool calls and script generation.
    6
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Connects AI coding agents to Autodesk Fusion 360 for CAD/CAM automation, exposing 84 tools for sketching, modeling, assembly, inspection, export, and G-code post-processing through any MCP-compatible client.
    85
    MIT
  • A
    license
    C
    quality
    C
    maintenance
    Enables MCP-compatible assistants to control Autodesk Fusion for mechanical modeling, assembly editing, CAM workflows, inspection, and model export through Fusion's native MCP endpoint.
    39
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables controlling Autodesk Fusion 360 from any MCP-compatible AI client through natural language. Exposes tools for creating sketches, drawing rectangles and circles, extruding, revolving, filleting, shelling, drilling holes and bolt-circle patterns, managing user parameters, and exporting STEP/STL files, plus batch generation of parametric variants.
    15
    MIT