Skip to main content
Glama
ffelipev2

Fusion MCP para Codex

by ffelipev2

Fusion MCP для Codex

Этот проект содержит локальный плагин для Codex и адд-ин для Fusion 360. Идея в том, чтобы Codex мог инспектировать и автоматизировать Autodesk Fusion 360 через MCP.

Архитектура

  • server/main.py: локальный MCP-сервер, который Codex запускает через stdio

  • fusion_addin/FusionCodexBridge/: адд-ин Fusion 360, который предоставляет локальный HTTP-мост на 127.0.0.1:19851

  • .mcp.json: указывает Codex, как запускать локальный MCP-сервер

MCP-сервер общается с адд-ином Fusion по аутентифицированному HTTP. Установщик генерирует локальный приватный токен, и оба процесса читают его из %LOCALAPPDATA%\FusionMCP\credentials.json; адд-ин отклоняет запросы без токена. Адд-ин выполняет авторизованную работу в главном потоке Fusion с помощью пользовательского события. Манифест устанавливает FusionCodexBridge с runOnStartup=true, чтобы мост запускался автоматически при открытии Fusion. Тела JSON-запросов POST имеют предустановленный лимит 1 МиБ, а fusion_run_script остаётся отключённым, пока не будет явного согласия.

Конечная точка /health возвращает версию моста и protocolVersion. MCP-клиент выполняет проверку совместимости перед запуском обычных инструментов и выдаёт понятную ошибку, если Fusion всё ещё работает со старым адд-ином; 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 ищет тела, эскизы, компоненты и пользовательские плоскости по имени. Поддерживает exact, contains и fuzzy и возвращает селектор с индексом, который ожидают остальные инструменты.

Ответы инспекции включают entityToken, когда Fusion это поддерживает. fusion_resolve_entity_token позволяет восстановить сущность и её текущий индекс после изменений на таймлайне.

Чтобы добавить ограничения или размеры, сначала используй fusion_list_sketch_curves и fusion_inspect_sketch; их индексы могут измениться после редактирования. fusion_list_sketch_profiles перечисляет профили, пригодные для выдавливания, с площадью, центроидом, ограничивающим прямоугольником и контурами; используй его для выбора profile_indices, когда сложный SVG или логотип создаёт много областей. 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.

Инструменты таймлайна могут влиять на функции и зависимую геометрию. Перед подавлением или удалением элемента стоит выполнить fusion_list_timeline.

fusion_inspect_body_physical_properties возвращает массу, плотность, центр масс и моменты инерции корневого тела. Точность может быть low (±1%), medium (±0,5%), high (±0,1%) или very_high (±0,01%); более высокая точность занимает больше времени. fusion_inspect_timeline_dependencies возвращает связанные функции и отношения между параметрами, связанными с элементом.

Ошибки HTTP теперь сохраняют подробное сообщение, сгенерированное внутри Fusion. Если мост не активен, Codex напрямую указывает, как запустить FusionCodexBridge. После переустановки изменений адд-ина fusion_reload_bridge планирует перезапуск моста внутри Fusion для загрузки установленной версии; если Codex всё ещё не показывает новые инструменты, перезапусти Codex или заново открой селектор плагина, чтобы обновить каталог MCP.

fusion_thread_faces, fusion_thicken_faces и fusion_replace_faces работают с индексами, полученными из fusion_list_body_topology. Fusion в настоящее время не предоставляет публичный API для создания рёбер/стенок; RibFeatures позволяет только инспектировать существующие функции.

fusion_export_cad и fusion_import_cad поддерживают iges, sat и smt. Для DXF используются отдельные инструменты, поскольку формат применяется к эскизам и 2D-плоскостям. fusion_export_printable_stl выполняет базовые проверки пригодности к печати перед экспортом 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 — стабильный селектор, который потребляют инструменты проверки, создания, перемещения и переноса вложенных вхождений. fusion_copy_paste_bodies и fusion_cut_paste_bodies используют локальные индексы исходного компонента; оставь путь пустым для корневого компонента. Cut/Paste перемещает тела и требует allow_move_bodies=true. Вхождение представляет определение компонента: когда у этого определения несколько экземпляров, копирование или перемещение тел может затронуть все; инструмент требует дополнительного подтверждения перед этим. Перед созданием соединения используй fusion_list_occurrence_topology, чтобы получить индексы граней в контексте каждого вхождения. MVP fusion_create_joint поддерживает плоские грани и соединения rigid или revolute; второе вхождение можно переместить при создании соединения. fusion_set_occurrence_grounded, fusion_create_rigid_group и fusion_analyze_assembly_interference работают с путями вхождений, и последний не изменяет конструкцию.

Surface позволяет перечислять поверхности, patch, stitch, unstitch, extend, ruled surface, trim, untrim и повторно использовать 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 возвращает этот отчёт после создания платы, чтобы не остаться с чисто визуальной геометрией. Четыре операции модификации используют предварительные API Autodesk и могут быть недоступны во всех установках; в этом случае инструмент возвращает пошаговую инструкцию.

Начальное сопоставление Sheet Metal охватывает правила, активацию правил, открытую кромку и разрез по существующему листовому телу. Autodesk в настоящее время не предоставляет создание базового фланца/фланца в публичном API.

Manufacture позволяет активировать рабочее пространство, проверять настройки/операции/параметры, создавать настройки фрезерования, редактировать CAM-выражения, переименовывать/подавлять/удалять элементы, обнаруживать совместимые стратегии и генерировать траектории. Также позволяет запрашивать инструменты из документа или из библиотеки по URL, создавать любую strategy, совместимую с инструментом и выражениями, запрашивать/назначать станки, искать постпроцессоры, создавать NCProgram и выполнять постобработку.

Рекомендуемый CAM-поток: создай или проверь настройку, запроси fusion_list_cam_strategies, выбери инструмент с помощью fusion_list_document_cam_tools или fusion_list_cam_tool_library, создай операцию с fusion_create_cam_operation и сгенерируй её траекторию. Для NC-кода обнаружь станок/постпроцессор, создай программу и проверь её индекс перед выполнением fusion_postprocess_nc_program с confirm_postprocess=true. Выходной каталог должен существовать, а окончательная проверка станка, инструментов, начала координат и столкновений остаётся на операторе.

Drawing позволяет проверять документ/активный лист и экспортировать все листы или диапазон в PDF. Публичный API Drawing пока не предоставляет полную коллекцию для программного создания и редактирования всех листов, видов и аннотаций.

Render/Animation включает чтение и управление камерой, управление визуальным стилем видового экрана, захват видового экрана, асинхронный локальный рендеринг и отслеживание заданий. fusion_capture_viewport без output_path возвращает встроенный PNG размером до 20 МиБ и удаляет временный файл до завершения; это рекомендуемый режим для визуальной проверки. Чтобы сохранить захват или создать изображение большего размера, передай явный 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 в настоящее время не публикует модель API для создания и решения исследований, эквивалентную adsk.cam.

fusion_split_body сегодня использует в качестве режущего инструмента плоскость начала координат или существующую конструктивную плоскость. Позже это можно расширить на профили, грани или тела как режущий инструмент.

Для Boundary Fill сначала используй fusion_preview_boundary_fill_cells с селекторами body и/или construction_plane: он возвращает объём, площадь, грани и ограничивающий прямоугольник каждой временной ячейки. Затем сразу повтори те же селекторы в том же порядке с 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 предоставляет один профиль и одну грань за вызов, с необязательными смещениями и поворотом. Требуется API Emboss, представленный Fusion в сентябре 2025 года; если он недоступен, возвращается пошаговая подсказка.

fusion_create_derive создаёт производную связь из другого уже открытого и сохранённого в Fusion документа проектирования. Используй fusion_list_documents, чтобы определить source_document_index; в качестве исходных сущностей принимаются root_component, body, mesh_body, sketch, construction_plane или occurrence. Активный документ всегда является целью и не может быть производным от самого себя. Инструмент требует API Derive, представленный в январе 2026 года.

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

Чтобы запустить реальный smoke-тест 3D-печати против открытого Fusion с активным bridge:

python .\scripts\smoke_printable_svg.py

Этот smoke-тест создаёт одноразовый документ, генерирует плату из SVG, экспортирует STL с помощью fusion_export_printable_stl, проверяет, что файл существует, и закрывает документ без сохранения. Артефакты остаются в scratch/fusion-smoke.

Чтобы запустить реальный smoke-тест базовых эскизов против открытого Fusion с активным bridge:

python .\scripts\smoke_sketch_basics.py

Этот smoke-тест создаёт одноразовый документ, генерирует эскизы прямоугольника, окружности, линии, дуги, полилинии, многоугольника и паза, проверяет смещение, ограничения, размеры и проверку, и закрывает документ без сохранения.

Требования

  • Windows с Python 3.10 или новее, доступным как python в PATH

  • Autodesk Fusion 360

Настройка безопасности

  • fusion_run_script отключён по умолчанию. Чтобы намеренно включить его, задай FUSION_MCP_ENABLE_RUN_SCRIPT=1 как для процесса MCP, так и для Fusion 360, и перезапусти оба. Скрипт выполняется с полными правами пользователя, поэтому следует предпочитать выделенные инструменты.

  • FUSION_MCP_MAX_REQUEST_BODY_BYTES регулирует лимит JSON-полезных нагрузок bridge. Значение по умолчанию — 1 МиБ, максимально допустимое — 16 МиБ.

  • Операции удаления, отмены изменений и постобработки требуют явных флагов подтверждения; эти флаги не заменяют предварительную проверку цели.

Рекомендуемая установка в Windows

Если у тебя уже есть этот репозиторий локально, самый быстрый способ установки:

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

Этот установщик делает следующее:

  • генерирует или сохраняет случайное приватное учётное данное для аутентификации MCP с Fusion

  • защищает файл учётных данных и, при создании его выделенной папки, также ограничивает права этой папки текущим пользователем; не изменяет ACL существующей родительской папки

  • собирает плагин из разрешённого списка файлов и копирует его в ~/plugins/fusion-mcp, не включая снимки, резервные копии, CAD или другие артефакты рабочего пространства

  • проверяет по манифесту назначения плагина и адд-ина; отклоняет пересечения с репозиторием, нераспознанные папки, junction-ы и файлы состояния внутри управляемых назначений

  • публикует среду выполнения через кандидат + резервную копию и восстанавливает предыдущую версию при сбое marketplace

  • обновляет ~/.agents/plugins/marketplace.json атомарной заменой после публикации среды выполнения

  • устанавливает зависимости из requirements.txt

  • копирует адд-ин Fusion в %APPDATA%\Autodesk\Autodesk Fusion 360\API\AddIns\FusionCodexBridge, если эта папка существует; если нет, использует %APPDATA%\Autodesk\Autodesk Fusion\API\AddIns\FusionCodexBridge

  • синхронизирует эти папки установки и удаляет устаревшие файлы из предыдущих версий

  • предупреждает, если находит другую копию FusionCodexBridge в альтернативном пути Autodesk, потому что Fusion может загружать старую копию

Если ты хочешь установить только часть Codex и пока не копировать адд-ин Fusion, можно использовать:

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

Пошаговая инструкция по запуску

  1. Откройте терминал в корне репозитория.

  2. Запустите установщик:

powershell -ExecutionPolicy Bypass -File .\scripts\install-fusion-mcp.ps1
  1. Откройте Fusion 360.

  2. В Fusion перейдите в Utilities > Add-Ins > Scripts and Add-Ins.

  3. Перейдите на вкладку Add-Ins.

  4. Если список выглядит пустым, очистите фильтры, прежде чем считать, что адд-ин отсутствует.

  5. Найдите FusionCodexBridge и запустите его с помощью Run.

  6. Если FusionCodexBridge не появляется в списке, используйте кнопку + и вручную укажите одну из этих папок:

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

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

  7. Проверьте, что локальный bridge Fusion запущен:

$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.

  1. Перезапустите Codex или перезагрузите окно VS Code, если необходимо.

  2. Если вы используете 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 использовали общий токен длиной не менее 32 символов через FUSION_MCP_TOKEN или JSON-файл, указанный в FUSION_MCP_CREDENTIALS_FILE. Чтобы избежать ошибок прав доступа и настройки, рекомендуется запустить установщик хотя бы один раз.

Если вы не хотите использовать установщик, можно выполнить процесс вручную:

  1. Установите зависимости Python:

pip install -r requirements.txt
  1. Скопируйте fusion_addin/FusionCodexBridge/ в папку Add-Ins Fusion:

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

    • или %APPDATA%\Autodesk\Autodesk Fusion\API\AddIns\

  2. Зарегистрируйте MCP-сервер в Codex:

codex mcp add fusion-local -- python "$PWD\server\main.py"
  1. Откройте Fusion 360 и запустите FusionCodexBridge из Utilities > Add-Ins > Scripts and Add-Ins.

Устранение неполадок

  • Если Fusion показывает пустой список адд-инов, сначала очистите фильтры в окне Scripts and Add-Ins.

  • Если VS Code показывает No MCP Servers found, выполните Developer: Reload Window, а затем снова используйте MCP: List Servers.

  • Не ищите fusion-local в Marketplace расширений VS Code. Это локальный MCP-сервер, а не расширение из маркетплейса.

  • Если Codex видит сервер, но действия против Fusion не работают, используйте команду проверки /health выше или выполните fusion_ping; все endpoints требуют локальный Bearer token.

  • Если 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 выполняет Python внутри Fusion с полным доступом к API и по умолчанию отключён. Используйте его только с доверенным кодом и при явном opt-in.

  • Все endpoints, включая /health, требуют Bearer token, сгенерированный во время установки.

  • Инструмент script возвращает значение, присвоенное переменной result.

  • Если bridge не запущен, начните с проверки с помощью fusion_ping или fusion_status после запуска адд-ина.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    Not graded
    quality
    A
    maintenance
    A safety-first Autodesk Fusion 360 MCP add-in that enables agents to inspect, plan, validate, and package CAD changes without blindly running raw scripts, with structured tools and preflight checks.
    1
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    An MCP server that provides 75 validated tools for Autodesk Fusion 360, enabling common CAD operations like sketching, extruding, and joint creation with structured error handling.
    75
    31
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ffelipev2/MCP-Fusion360'

If you have feedback or need assistance with the MCP directory API, please join our Discord server