# Breakpoint MCP server

Agent View of the PolicyLayer registry record for Breakpoint: identity, probed posture, risk grade, and all 274 tools classified. HTML page: https://policylayer.com/tools/breakpoint-mcp

## Facts

- Server id: `breakpoint-mcp`
- Install: `npx -y breakpoint-mcp`
- Homepage: https://www.npmjs.com/package/breakpoint-mcp
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 274 (260 with introspected schema)
- Tool categories present: Destructive, Execute, Read, Write
- Context-window cost: 49907 tokens per request — https://policylayer.com/token-cost/breakpoint-mcp
- Tags: breakpoint mcp, admin, automation
- Record last modified: 2026-07-28T16:19:06.499Z

## Tools (274)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `anim_delete` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/anim-delete.md |
| `anim_remove_key` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/anim-remove-key.md |
| `filesystem_move` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/filesystem-move.md |
| `gd_rename` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/gd-rename.md |
| `inputmap_erase_action` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/inputmap-erase-action.md |
| `mp_wire_rpc` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/mp-wire-rpc.md |
| `node_delete` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/node-delete.md |
| `project_remove_autoload` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/project-remove-autoload.md |
| `resource_save` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/resource-save.md |
| `resource_set_import_settings` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/resource-set-import-settings.md |
| `runtime_node_remove` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/runtime-node-remove.md |
| `runtime_peer_stop` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/runtime-peer-stop.md |
| `scene_close` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/scene-close.md |
| `scene_reload` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/scene-reload.md |
| `shader_set_code` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/shader-set-code.md |
| `tilemap_clear` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/tilemap-clear.md |
| `vcs_restore` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/vcs-restore.md |
| `vcs_stash` | Destructive | Critical | https://policylayer.com/tools/breakpoint-mcp/vcs-stash.md |
| `cs_dbg_attach` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-attach.md |
| `cs_dbg_continue` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-continue.md |
| `cs_dbg_launch` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-launch.md |
| `cs_dbg_restart` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-restart.md |
| `cs_dbg_set_breakpoints` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-set-breakpoints.md |
| `cs_dbg_set_exception_breakpoints` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-set-exception-breakpoints.md |
| `cs_dbg_set_variable` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-set-variable.md |
| `cs_dbg_step` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-step.md |
| `dbg_attach` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/dbg-attach.md |
| `dbg_continue` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/dbg-continue.md |
| `dbg_data_breakpoints` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/dbg-data-breakpoints.md |
| `dbg_goto` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/dbg-goto.md |
| `dbg_launch` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/dbg-launch.md |
| `dbg_restart` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/dbg-restart.md |
| `dbg_set_exception_breakpoints` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/dbg-set-exception-breakpoints.md |
| `dbg_set_variable` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/dbg-set-variable.md |
| `dbg_step` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/dbg-step.md |
| `filesystem_scan` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/filesystem-scan.md |
| `godot_export` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/godot-export.md |
| `godot_import` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/godot-import.md |
| `godot_launch_editor` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/godot-launch-editor.md |
| `godot_run_project` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/godot-run-project.md |
| `godot_stop` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/godot-stop.md |
| `runtime_anim_play` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/runtime-anim-play.md |
| `runtime_anim_stop` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/runtime-anim-stop.md |
| `runtime_emit_signal` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/runtime-emit-signal.md |
| `runtime_inject_input` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/runtime-inject-input.md |
| `runtime_node_add` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/runtime-node-add.md |
| `runtime_seed_rng` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/runtime-seed-rng.md |
| `runtime_step_frames` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/runtime-step-frames.md |
| `runtime_time_scale` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/runtime-time-scale.md |
| `signal_emit` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/signal-emit.md |
| `vcs_switch` | Execute | High | https://policylayer.com/tools/breakpoint-mcp/vcs-switch.md |
| `anim_get_track_keys` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/anim-get-track-keys.md |
| `anim_list` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/anim-list.md |
| `class_reference` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/class-reference.md |
| `classdb_get_class` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/classdb-get-class.md |
| `cs_code_action` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-code-action.md |
| `cs_dbg_scopes` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-scopes.md |
| `cs_dbg_stack_trace` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-stack-trace.md |
| `cs_dbg_variables` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-variables.md |
| `cs_dbg_watch` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-dbg-watch.md |
| `cs_definition` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-definition.md |
| `cs_diagnostics` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-diagnostics.md |
| `cs_document_symbols` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-document-symbols.md |
| `cs_hover` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-hover.md |
| `cs_references` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-references.md |
| `cs_signature_help` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-signature-help.md |
| `cs_workspace_symbols` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/cs-workspace-symbols.md |
| `dbg_scopes` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/dbg-scopes.md |
| `dbg_stack_trace` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/dbg-stack-trace.md |
| `dbg_variables` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/dbg-variables.md |
| `dbg_watch` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/dbg-watch.md |
| `docs_search` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/docs-search.md |
| `editor_get_state` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/editor-get-state.md |
| `editor_ping` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/editor-ping.md |
| `example_snippet` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/example-snippet.md |
| `filesystem_list` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/filesystem-list.md |
| `find_symbol` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/find-symbol.md |
| `find_usages` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/find-usages.md |
| `gd_call_hierarchy` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-call-hierarchy.md |
| `gd_code_action` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-code-action.md |
| `gd_completion` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-completion.md |
| `gd_declaration` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-declaration.md |
| `gd_definition` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-definition.md |
| `gd_diagnostics` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-diagnostics.md |
| `gd_document_color` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-document-color.md |
| `gd_document_highlight` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-document-highlight.md |
| `gd_document_link` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-document-link.md |
| `gd_document_symbols` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-document-symbols.md |
| `gd_folding_ranges` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-folding-ranges.md |
| `gd_formatting` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-formatting.md |
| `gd_hover` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-hover.md |
| `gd_implementation` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-implementation.md |
| `gd_references` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-references.md |
| `gd_semantic_tokens` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-semantic-tokens.md |
| `gd_signature_help` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-signature-help.md |
| `gd_type_definition` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-type-definition.md |
| `gd_workspace_symbols` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/gd-workspace-symbols.md |
| `godot_output` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/godot-output.md |
| `godot_version` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/godot-version.md |
| `inputmap_list` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/inputmap-list.md |
| `node_find` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/node-find.md |
| `node_get_children` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/node-get-children.md |
| `node_get_path` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/node-get-path.md |
| `node_get_property` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/node-get-property.md |
| `node_list_groups` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/node-list-groups.md |
| `node_list_properties` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/node-list-properties.md |
| `project_get_info` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/project-get-info.md |
| `project_get_setting` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/project-get-setting.md |
| `project_list_settings` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/project-list-settings.md |
| `project_search` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/project-search.md |
| `resource_get_import_settings` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/resource-get-import-settings.md |
| `resource_get_property` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/resource-get-property.md |
| `resource_load` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/resource-load.md |
| `runtime_anim_get_state` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-anim-get-state.md |
| `runtime_assert_node_state` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-assert-node-state.md |
| `runtime_assert_perf` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-assert-perf.md |
| `runtime_assert_scene_structure` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-assert-scene-structure.md |
| `runtime_assert_screen_text` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-assert-screen-text.md |
| `runtime_await_condition` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-await-condition.md |
| `runtime_get_log` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-get-log.md |
| `runtime_get_monitors` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-get-monitors.md |
| `runtime_get_property` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-get-property.md |
| `runtime_get_tree` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-get-tree.md |
| `runtime_peers_digest` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-peers-digest.md |
| `runtime_screenshot` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-screenshot.md |
| `runtime_screenshot_diff` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-screenshot-diff.md |
| `runtime_state_digest` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/runtime-state-digest.md |
| `scene_get_dependencies` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/scene-get-dependencies.md |
| `scene_get_tree` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/scene-get-tree.md |
| `scene_list_open` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/scene-list-open.md |
| `screenshot_editor` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/screenshot-editor.md |
| `selection_get` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/selection-get.md |
| `signal_list` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/signal-list.md |
| `signal_list_connections` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/signal-list-connections.md |
| `test_detect` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/test-detect.md |
| `test_list` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/test-list.md |
| `tilemap_get_cell` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/tilemap-get-cell.md |
| `vcs_blame` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/vcs-blame.md |
| `vcs_branch_list` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/vcs-branch-list.md |
| `vcs_diff` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/vcs-diff.md |
| `vcs_log` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/vcs-log.md |
| `vcs_show` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/vcs-show.md |
| `vcs_status` | Read | Low | https://policylayer.com/tools/breakpoint-mcp/vcs-status.md |
| `anim_add_track` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/anim-add-track.md |
| `anim_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/anim-create.md |
| `anim_insert_key` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/anim-insert-key.md |
| `anim_player_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/anim-player-create.md |
| `anim_set_length` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/anim-set-length.md |
| `anim_set_loop` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/anim-set-loop.md |
| `anim_statemachine_add_state` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/anim-statemachine-add-state.md |
| `anim_statemachine_add_transition` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/anim-statemachine-add-transition.md |
| `anim_tree_add_node` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/anim-tree-add-node.md |
| `anim_tree_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/anim-tree-create.md |
| `area_set_gravity` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/area-set-gravity.md |
| `area_set_monitoring` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/area-set-monitoring.md |
| `asset_gen_placeholder` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/asset-gen-placeholder.md |
| `audio_bus_add` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/audio-bus-add.md |
| `audio_bus_add_effect` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/audio-bus-add-effect.md |
| `audio_bus_set_volume` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/audio-bus-set-volume.md |
| `audio_player_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/audio-player-create.md |
| `audio_set_bus_layout` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/audio-set-bus-layout.md |
| `audio_set_stream` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/audio-set-stream.md |
| `auth_scaffold` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/auth-scaffold.md |
| `board_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/board-create.md |
| `board_place` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/board-place.md |
| `board_tile_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/board-tile-create.md |
| `board_tile_place` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/board-tile-place.md |
| `body_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/body-create.md |
| `body_set_collision_layer` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/body-set-collision-layer.md |
| `body_set_collision_mask` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/body-set-collision-mask.md |
| `body_set_physics_material` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/body-set-physics-material.md |
| `camera_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/camera-create.md |
| `card_deck_from_table` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/card-deck-from-table.md |
| `card_hand_layout` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/card-hand-layout.md |
| `card_instance` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/card-instance.md |
| `card_set_face` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/card-set-face.md |
| `card_template_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/card-template-create.md |
| `cloudsave_scaffold` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/cloudsave-scaffold.md |
| `collisionpolygon_add` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/collisionpolygon-add.md |
| `collisionshape_add` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/collisionshape-add.md |
| `container_add_child` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/container-add-child.md |
| `control_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/control-create.md |
| `control_set_anchors` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/control-set-anchors.md |
| `control_set_layout_preset` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/control-set-layout-preset.md |
| `control_set_size_flags` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/control-set-size-flags.md |
| `control_set_theme` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/control-set-theme.md |
| `cs_completion` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/cs-completion.md |
| `cs_rename` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/cs-rename.md |
| `csg_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/csg-create.md |
| `dbg_set_breakpoints` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/dbg-set-breakpoints.md |
| `editor_redo` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/editor-redo.md |
| `editor_undo` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/editor-undo.md |
| `editorsettings_get_set` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/editorsettings-get-set.md |
| `environment_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/environment-create.md |
| `environment_set_sky` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/environment-set-sky.md |
| `filesystem_create_dir` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/filesystem-create-dir.md |
| `inputmap_add_action` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/inputmap-add-action.md |
| `inputmap_add_event` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/inputmap-add-event.md |
| `interact_add_drop_zone` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/interact-add-drop-zone.md |
| `interact_make_draggable` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/interact-make-draggable.md |
| `joint_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/joint-create.md |
| `joint_set_bodies` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/joint-set-bodies.md |
| `leaderboard_scaffold` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/leaderboard-scaffold.md |
| `light_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/light-create.md |
| `mesh_set_surface_material` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/mesh-set-surface-material.md |
| `meshinstance_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/meshinstance-create.md |
| `mp_add_spawner` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/mp-add-spawner.md |
| `mp_add_synchronizer` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/mp-add-synchronizer.md |
| `mp_scaffold_lobby` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/mp-scaffold-lobby.md |
| `mp_set_authority` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/mp-set-authority.md |
| `mp_setup_enet_peer` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/mp-setup-enet-peer.md |
| `mp_setup_webrtc_peer` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/mp-setup-webrtc-peer.md |
| `navagent_configure` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/navagent-configure.md |
| `navregion_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/navregion-create.md |
| `node_add` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-add.md |
| `node_add_to_group` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-add-to-group.md |
| `node_change_type` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-change-type.md |
| `node_duplicate` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-duplicate.md |
| `node_instantiate_scene` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-instantiate-scene.md |
| `node_move_child` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-move-child.md |
| `node_remove_from_group` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-remove-from-group.md |
| `node_rename` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-rename.md |
| `node_reparent` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-reparent.md |
| `node_set_editable_instance` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-set-editable-instance.md |
| `node_set_owner` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-set-owner.md |
| `node_set_property` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/node-set-property.md |
| `particles_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/particles-create.md |
| `particles_set_amount` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/particles-set-amount.md |
| `particles_set_emitting` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/particles-set-emitting.md |
| `particles_set_lifetime` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/particles-set-lifetime.md |
| `particles_set_process_material` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/particles-set-process-material.md |
| `particles_set_texture` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/particles-set-texture.md |
| `physics_set_gravity` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/physics-set-gravity.md |
| `piece_instance` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/piece-instance.md |
| `piece_move` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/piece-move.md |
| `piece_template_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/piece-template-create.md |
| `primitive_mesh_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/primitive-mesh-create.md |
| `project_add_autoload` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/project-add-autoload.md |
| `project_add_export_preset` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/project-add-export-preset.md |
| `project_set_main_scene` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/project-set-main-scene.md |
| `project_set_setting` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/project-set-setting.md |
| `resource_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/resource-create.md |
| `resource_duplicate` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/resource-duplicate.md |
| `resource_set_property` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/resource-set-property.md |
| `rigidbody_set_properties` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/rigidbody-set-properties.md |
| `runtime_set_property` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/runtime-set-property.md |
| `scene_new` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/scene-new.md |
| `scene_open` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/scene-open.md |
| `scene_pack` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/scene-pack.md |
| `scene_save` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/scene-save.md |
| `scene_save_as` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/scene-save-as.md |
| `selection_set` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/selection-set.md |
| `shader_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/shader-create.md |
| `shadermaterial_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/shadermaterial-create.md |
| `shadermaterial_set_param` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/shadermaterial-set-param.md |
| `shadermaterial_set_shader` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/shadermaterial-set-shader.md |
| `signal_add_user_signal` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/signal-add-user-signal.md |
| `signal_connect` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/signal-connect.md |
| `signal_disconnect` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/signal-disconnect.md |
| `theme_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/theme-create.md |
| `theme_set_color` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/theme-set-color.md |
| `theme_set_constant` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/theme-set-constant.md |
| `theme_set_font` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/theme-set-font.md |
| `theme_set_stylebox` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/theme-set-stylebox.md |
| `tilemap_set_cell` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/tilemap-set-cell.md |
| `tilemap_set_cells_rect` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/tilemap-set-cells-rect.md |
| `tilemaplayer_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/tilemaplayer-create.md |
| `tileset_add_source` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/tileset-add-source.md |
| `tileset_add_tile` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/tileset-add-tile.md |
| `tileset_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/tileset-create.md |
| `tileset_set_tile_collision` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/tileset-set-tile-collision.md |
| `vcs_add` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/vcs-add.md |
| `vcs_branch_create` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/vcs-branch-create.md |
| `vcs_commit` | Write | Medium | https://policylayer.com/tools/breakpoint-mcp/vcs-commit.md |

## Tool descriptions

- `anim_delete` — Delete an Animation from an AnimationPlayer's library (undoable). DESTRUCTIVE — gated by confirmation.
- `anim_remove_key` — Remove a keyframe by index from a track (undoable).
- `filesystem_move` — Move or rename a file or directory within the project (carrying its .import sidecar), then rescan. DESTRUCTIVE (moves on disk; does NOT remap references in other resources) — gated by confirmation.
- `gd_rename` — Rename a symbol project-wide. Returns the planned edit; pass apply=true to WRITE the changes to disk (DESTRUCTIVE — confirm with the user).
- `inputmap_erase_action` — Remove a project input action (ProjectSettings input/<name>). Set save=true to persist to project.godot. DESTRUCTIVE — gated by confirmation.
- `mp_wire_rpc` — Insert (or replace) an @rpc(...) annotation above a function in an existing GDScript, so it can be called across the network. If the function does not exist, a stub is appended carrying the annotation. Operates on the on-disk file (save …
- `node_delete` — Delete a node (undoable). DESTRUCTIVE — gated by confirmation. Refuses to delete the scene root.
- `project_remove_autoload` — Remove an autoload (ProjectSettings autoload/<name>). Set save=true to persist to project.godot. DESTRUCTIVE — gated by confirmation.
- `resource_save` — Load a resource and (re-)save it, optionally to a new path and with ResourceSaver flags. DESTRUCTIVE (writes a file) — gated by confirmation. Shares subresources by reference; use resource_duplicate for an independent copy.
- `resource_set_import_settings` — Update import parameters in an asset's .import metadata and trigger a reimport. DESTRUCTIVE (rewrites metadata + reimports) — gated by confirmation. Errors if the asset has no .import sidecar.
- `runtime_node_remove` — Remove (queue_free) a node from the LIVE running game. DESTRUCTIVE — gated by confirmation. Refuses to remove the current scene root.
- `runtime_peer_stop` — Terminate a headless peer started by runtime_spawn_peers, or every one with all:true. DESTRUCTIVE (kills a child process). Stopping an already-stopped peer is a no-op, so this is safe to repeat; peers are also killed automatically when t…
- `scene_close` — Close the current scene tab, discarding unsaved changes. DESTRUCTIVE — gated by confirmation. Only the current scene can be closed; pass its path to assert which one.
- `scene_reload` — Reload a scene from disk, discarding unsaved changes to it. DESTRUCTIVE — gated by confirmation. Defaults to the current scene.
- `shader_set_code` — Replace the source code of an existing .gdshader resource and save it. DESTRUCTIVE (writes a file) — gated by confirmation.
- `tilemap_clear` — Remove every painted cell from a TileMapLayer (undoable — prior cells are restored on undo). Returns the number of cells cleared.
- `vcs_restore` — Discard uncommitted working-tree changes to the given paths, restoring them from the index/HEAD (git restore -- <paths>). DESTRUCTIVE — the discarded edits are unrecoverable — so it is elicitation-gated: pass confirm:true to bypass the p…
- `vcs_stash` — Manage stashes: op='push' saves and reverts your working changes (optional message); 'pop' re-applies the latest stash; 'list' returns the stash entries; 'drop' deletes a stash entry. Only 'drop' is destructive and elicitation-gated (con…
- `cs_dbg_attach` — Attach netcoredbg to an already-running .NET process (e.g. a C# Godot game launched separately) by its OS process id. Any breakpoints set beforehand are applied during the handshake.
- `cs_dbg_continue` — Resume execution and wait for the program to settle again (next breakpoint or termination). Returns the resulting state; if it runs on with no further breakpoint, reports state 'running'.
- `cs_dbg_launch` — Start a C# Godot game under netcoredbg. program defaults to the configured Mono/.NET Godot binary (GODOT_CSHARP_BIN) and args to ['--path', <C# project>]; override either to debug a different .NET program. Any breakpoints set beforehand …
- `cs_dbg_restart` — Restart the current C# debug session. Uses the DAP restart request when the adapter advertises supportsRestartRequest, otherwise falls back to terminate + relaunch — so it works on every adapter (netcoredbg advertises none, so the relaun…
- `cs_dbg_set_breakpoints` — Set (replace) the breakpoints for a C# source file. Applied immediately if a session is running, else buffered until launch/attach. Feature-detected: the per-line conditions modifier is only sent when the connected adapter advertises sup…
- `cs_dbg_set_exception_breakpoints` — Enable (replace) the debugger's exception breakpoint filters so execution halts when a matching .NET exception is thrown (DAP setExceptionBreakpoints). Pass the filter IDs to enable; call with no filters (or []) to clear them. The result…
- `cs_dbg_set_variable` — Change a variable's value in a stopped C# frame (DAP setVariable). DESTRUCTIVE: mutates live program state — confirm with the user and keep this gated. variables_ref is the container's variablesReference (from cs_dbg_scopes, or a complex…
- `cs_dbg_step` — Step execution: 'over' (next), 'in' (stepIn), or 'out' (stepOut), then wait for the step to land. Returns the resulting state and stop reason.
- `dbg_attach` — Attach to an already-running Godot debug session.
- `dbg_continue` — Resume execution and wait for the program to settle again (next breakpoint or termination). Returns the resulting state; if it runs on with no further breakpoint, reports state 'running'.
- `dbg_data_breakpoints` — Set (replace) data breakpoints — 'watchpoints' that halt when a variable's value changes (DAP dataBreakpointInfo + setDataBreakpoints). Pass watch as a list of { name, variables_ref?, access_type? }: each name is resolved to a dataId via…
- `dbg_goto` — Move the program counter within the current stopped frame — 'set next statement' (DAP gotoTargets + goto). Call with path + line to list the valid goto targets on that line; when the line has exactly one target (or you pass target_id) it…
- `dbg_launch` — Start the game under the debugger. scene may be 'main', 'current', or a res:// scene path. Any breakpoints set beforehand are applied during the handshake. Refuses if the runtime bridge port is already bound — the new game could not host…
- `dbg_restart` — Restart the current debug session. Uses the DAP restart request when the adapter advertises supportsRestartRequest, otherwise falls back to terminate + relaunch — so it works on every adapter. Reuses the last dbg_launch/dbg_attach parame…
- `dbg_set_exception_breakpoints` — Enable (replace) the debugger's exception breakpoint filters so execution halts when a matching error/exception is thrown (DAP setExceptionBreakpoints). Pass the filter IDs to enable; call with no filters (or []) to clear them. The resul…
- `dbg_set_variable` — Change a variable's value in a stopped frame (DAP setVariable). DESTRUCTIVE: mutates live program state — confirm with the user and keep this gated. variables_ref is the container's variablesReference (from dbg_scopes, or a complex entry…
- `dbg_step` — Step execution: 'over' (next), 'in' (stepIn), or 'out' (stepOut), then wait for the step to land. Returns the resulting state and stop reason. Note: stepOut may be unsupported on older Godot builds.
- `filesystem_scan` — Trigger an editor rescan of the project filesystem so newly added or externally-changed files are picked up. Read-only side effect.
- `godot_export` — Headless export using an export preset. Runs to completion and returns exit code + logs. Can be slow — exposed as an MCP task, so task-aware clients can poll, await, or cancel it (tasks/get, tasks/result, tasks/cancel).
- `godot_import` — Headless (re)import of project assets. Runs to completion and returns exit code + logs. Exposed as an MCP task (poll/await/cancel via tasks/get, tasks/result, tasks/cancel).
- `godot_launch_editor` — Open the Godot editor for the configured project (detached). Needed before any editor_* bridge tool can be used.
- `godot_run_project` — Run the project (detached). Optionally start from a specific scene path (res://...). Returns the process id. Refuses if the runtime bridge port is already bound — the new game could not host the bridge, and every runtime_* call would add…
- `godot_stop` — Terminate a managed process started by godot_run_managed.
- `runtime_anim_play` — Play an animation on a LIVE AnimationPlayer node. DESTRUCTIVE (drives the running game) — gated by confirmation. Omit animation to (re)play the currently-assigned one.
- `runtime_anim_stop` — Stop (or pause) a LIVE AnimationPlayer node. DESTRUCTIVE (drives the running game) — gated by confirmation. keep_state:true pauses in place; false (default) stops.
- `runtime_emit_signal` — Emit a signal from a live node. DESTRUCTIVE — gated by confirmation.
- `runtime_inject_input` — Inject a synthetic input event for automated play-testing. DESTRUCTIVE. event.kind is 'action' | 'key' | 'mouse_button' | 'mouse_motion'. Example: {"kind":"action","action":"jump","pressed":true}.
- `runtime_node_add` — Add a node to the LIVE running game as a child of parent. DESTRUCTIVE — gated by confirmation. Provide scene (a res:// PackedScene to instantiate) OR type (a ClassDB class to instantiate); name renames it.
- `runtime_seed_rng` — Seed the running game's GLOBAL random number generator (GDScript seed()) so a playtest is reproducible. DESTRUCTIVE (changes RNG state) — gated by confirmation. Seeds only the global RNG (randi/randf), not per-instance RandomNumberGenera…
- `runtime_step_frames` — Advance the running game by an exact number of frames while otherwise frozen, for deterministic, frame-accurate playtesting. DESTRUCTIVE — gated by confirmation. kind selects which loop to tick each step: idle (default), physics, or both…
- `runtime_time_scale` — Set Engine.time_scale on the running game: 0 freezes time, 1 is normal, >1 fast, <1 slow-motion. DESTRUCTIVE (alters the running game's clock) — gated by confirmation. Freeze with scale 0, then runtime_step_frames to advance deterministi…
- `signal_emit` — Emit a signal from a node in the EDITED scene, firing its connected callables now. DESTRUCTIVE (edit-time side effects) — gated by confirmation. Args use the tagged-Variant convention.
- `vcs_switch` — Switch to an existing branch (git switch <branch>). No --force: if local changes would be overwritten, git refuses and its message is returned unchanged — nothing is clobbered — so this is not gated.
- `anim_get_track_keys` — List all keyframes on a track (index, time, value, transition). Read-only.
- `anim_list` — List all animations in an AnimationPlayer across its libraries, with length, loop mode, and track count. Read-only.
- `class_reference` — Full engine-class reference via ClassDB: method SIGNATURES (return type + typed args), signal signatures, and typed properties — the detailed view classdb_get_class summarises as bare names. Read-only. Includes the canonical online docs …
- `classdb_get_class` — Return the parent class, methods, properties, and signals of an engine class via ClassDB.
- `cs_code_action` — List the code actions (quick fixes / refactors) OmniSharp offers for a range — the lightbulb menu. Read-only: returns the available actions (title, kind, whether each carries a WorkspaceEdit or a Command) without applying any. Unlike God…
- `cs_dbg_scopes` — Return the variable scopes (Locals, etc.) for a C# stack frame.
- `cs_dbg_stack_trace` — Return the current C# call stack (only meaningful while stopped at a breakpoint).
- `cs_dbg_variables` — List variables under a scope or a complex value (via its variables_ref).
- `cs_dbg_watch` — Manage a persistent set of C# watch expressions and evaluate them in the current stopped frame. Pass add/remove/clear to mutate the set (all optional), then every current watch is re-evaluated and returned. Call with no mutation args to …
- `cs_definition` — Resolve the definition location(s) of the C# symbol at a position.
- `cs_diagnostics` — Return compile/analyzer diagnostics (errors, warnings) for a C# script. Opens the file and waits briefly for OmniSharp to publish.
- `cs_document_symbols` — List the symbols (classes, methods, properties, fields) declared in a C# script.
- `cs_hover` — Hover documentation/type info at a position (e.g. the Counter : int type).
- `cs_references` — Find all references to the C# symbol at a position.
- `cs_signature_help` — Show the call signature(s) and active parameter at a position (the parameter hints an IDE pops up inside a call).
- `cs_workspace_symbols` — Search C# symbols across the whole project by name. Unlike Godot's GDScript server, OmniSharp implements LSP 'workspace/symbol', so this returns real results; it stays feature-detected (with a -32601 belt-and-suspenders) so a server that…
- `dbg_scopes` — Return the variable scopes (Locals, Members, Globals) for a stack frame.
- `dbg_stack_trace` — Return the current call stack (only meaningful while stopped at a breakpoint).
- `dbg_variables` — List variables under a scope or a complex value (via its variables_ref).
- `dbg_watch` — Manage a persistent set of watch expressions and evaluate them in the current stopped frame. Pass add/remove/clear to mutate the set (all optional), then every current watch is re-evaluated and returned. Call with no mutation args to jus…
- `docs_search` — Search the Godot class reference (ClassDB) by keyword — matching class names and, unless a scope narrows it, their methods/properties/signals — and return each hit with its canonical docs URL. Read-only. Use kind to restrict to one membe…
- `editor_get_state` — Return the currently edited scene, its root type/path, and the current node selection.
- `editor_ping` — Check that the editor is running with the Breakpoint MCP plugin enabled.
- `example_snippet` — Return curated, ready-to-adapt GDScript snippets for common Godot tasks (signals, autoload singletons, input, tweens, timers, scene changes, saving, RNG, groups, state machines, HTTP, @onready). Read-only. Omit the query to list every av…
- `filesystem_list` — List the subdirectories and files of a directory in the project filesystem (hidden entries like .godot are skipped). Read-only.
- `find_symbol` — Locate where GDScript symbols are DECLARED across the project — class_name, inner class, func, signal, enum, const and var. Read-only project index. This is the workspace-symbol answer Godot's language server does not implement (gd_works…
- `find_usages` — Find every word-boundary occurrence of an identifier across the project's source files. Read-only. The project-wide, build-independent complement to gd_references (which needs the live language server and a cursor position). Returns res:…
- `gd_call_hierarchy` — Find the callers (direction=incoming, the default) or callees (direction=outgoing) of the function at a position. Resolves the symbol with textDocument/prepareCallHierarchy, then callHierarchy/incomingCalls or outgoingCalls, and returns …
- `gd_code_action` — List the code actions (quick fixes / refactors) the language server offers for a range — the lightbulb menu. Read-only: returns the available actions (title, kind, whether each carries a WorkspaceEdit or a Command) without applying any. …
- `gd_completion` — Type-aware code completion at a position via the Godot language server.
- `gd_declaration` — Resolve the declaration location(s) of the symbol at a position. (For many symbols this coincides with the definition; the two differ for forward-declared or re-exported names.) Godot's GDScript language server advertises declarationProv…
- `gd_definition` — Resolve the definition location(s) of the symbol at a position.
- `gd_diagnostics` — Return compile/lint diagnostics (errors, warnings) for a script. Opens the file and waits briefly for the server to publish.
- `gd_document_color` — List the color literals the language server recognizes in a script — the Color(...) values an editor draws an inline swatch for — with each one's source range, its RGBA components (floats 0..1) and a convenience #RRGGBBAA hex. Read-only.…
- `gd_document_highlight` — Highlight every occurrence of the symbol at a position WITHIN the same file, tagged read / write / text (the shading an editor shows for a variable's uses when the caret is on it). Read-only. Godot's GDScript language server advertises d…
- `gd_document_link` — List the links embedded in a script (res:// paths or URLs the language server recognizes) with their source ranges and targets. Read-only. Godot's GDScript language server advertises documentLinkProvider; feature-detected.
- `gd_document_symbols` — List the symbols (classes, functions, variables, signals) declared in a script.
- `gd_folding_ranges` — List the foldable regions of a script (functions, blocks, comment/region markers) — the ranges an editor's fold gutter offers. Read-only. Godot's GDScript language server advertises foldingRangeProvider; feature-detected.
- `gd_formatting` — Compute how the language server would reformat a whole script and return the formatted TEXT — WITHOUT writing anything to disk (read-only preview; apply it yourself with a file write if you want it). Godot's GDScript language server adve…
- `gd_hover` — Hover documentation/type info at a position.
- `gd_implementation` — Resolve the implementation location(s) of the symbol at a position (e.g. the concrete override of a method). Godot's GDScript language server advertises implementationProvider; feature-detected.
- `gd_references` — Find all references to the symbol at a position.
- `gd_semantic_tokens` — Return the semantic-highlighting tokens for a whole script — each token's position, length, type (e.g. function, variable, keyword) and modifiers — decoded from the LSP packed-integer form through the server's advertised legend. Read-onl…
- `gd_signature_help` — Show the call signature(s) and active parameter at a position (the parameter hints an IDE pops up inside a call). Godot's GDScript language server advertises signatureHelpProvider.
- `gd_type_definition` — Resolve the location of the TYPE of the symbol at a position (jump to the class of a typed variable), as opposed to the symbol's own definition. Godot's GDScript language server advertises typeDefinitionProvider; feature-detected.
- `gd_workspace_symbols` — Search symbols across the whole project by name. Note: Godot's GDScript language server does not implement LSP 'workspace/symbol' (observed through 4.7), so on those builds this returns a clear 'unsupported' error rather than results — u…
- `godot_output` — Read captured console output for a managed process (from godot_run_managed). Use since_seq for incremental reads.
- `godot_version` — Return the version string of the configured Godot binary.
- `inputmap_list` — List all project-defined input actions (ProjectSettings input/*) with their deadzone and events (class + human-readable text). Read-only.
- `node_find` — Search a node's descendants by class and/or name substring (case-insensitive). Read-only.
- `node_get_children` — List the direct children of a node (name, type, path). Read-only.
- `node_get_path` — Return a node's scene-relative path, class, sibling index, parent path, and child count. Read-only.
- `node_get_property` — Read a single property from a node. Rich types come back __type__-tagged.
- `node_list_groups` — List the groups a node belongs to. Read-only.
- `node_list_properties` — List a node's inspector-visible properties (name, Variant type, class_name, usage flags). Read-only. Use node_get_property to read a value.
- `project_get_info` — Return project name, main scene, project root path, Godot version, and feature tags.
- `project_get_setting` — Read a single ProjectSettings value by dotted key (e.g. application/config/name).
- `project_list_settings` — List ProjectSettings keys and values, optionally filtered by a dotted-key prefix (e.g. "input/", "autoload/", "application/"). Read-only.
- `project_search` — Full-text (or regex) search across the project's source files (ripgrep-style). Read-only. Returns one match per line with its res:// path, 1-based line and column, and the matching text. Binary and oversized files are skipped; caches (.g…
- `resource_get_import_settings` — Read an asset's import metadata (.import): the importer and its parameters. Read-only. Returns imported=false when the asset has no .import sidecar.
- `resource_get_property` — Read a single property of a resource file by name. Read-only. The value comes back tagged (Variant convention).
- `resource_load` — Load a resource file and return its class, resource_name, and inspector-visible property list. Read-only.
- `runtime_anim_get_state` — Read the playback state of a LIVE AnimationPlayer (read-only): current animation, whether it is playing, position, length, speed scale, and the list of available animations.
- `runtime_assert_node_state` — Assert that properties of a LIVE node equal expected values (read-only verification). Reports per-property mismatches; supports an optional absolute numeric tolerance.
- `runtime_assert_perf` — Assert that live Performance monitors meet a caller-supplied baseline within tolerance (read-only). Capture the baseline earlier with runtime_get_monitors and pass it back inline. Pass direction is inferred (time/fps is higher-better; ev…
- `runtime_assert_scene_structure` — Assert the LIVE SceneTree matches structural expectations (read-only). Each entry asserts a node exists at a path (and, if given, is of a class via is_class); set absent:true to assert it is NOT present.
- `runtime_assert_screen_text` — Assert that on-screen text is present (or absent) by scanning visible Control text in the LIVE scene tree (read-only; no OCR). Sees text on Label / RichTextLabel / Button / LineEdit / TextEdit / CheckBox / LinkButton and similar; does NO…
- `runtime_await_condition` — Poll a property on a LIVE node until it satisfies a comparison, or a timeout elapses (read-only verification). op is eq | ne | gt | ge | lt | le (the ordered operators require numeric values). Use this to wait for the running game to rea…
- `runtime_get_log` — Read the runtime log ring buffer (entries game code pushed via BreakpointRuntimeBridge.push_log). Use since_seq for incremental reads.
- `runtime_get_monitors` — Read live Performance monitors (FPS, draw calls, node count, physics, audio output latency, ...). Pass specific keys or omit for all. Keys include time/fps, render/total_draw_calls, audio/output_latency.
- `runtime_get_property` — Read a property from a live node (path relative to the current scene; '/root/...' absolute allowed).
- `runtime_get_tree` — Traverse the LIVE SceneTree of the running game (name, type, path, visibility, children).
- `runtime_peers_digest` — Read runtime_state_digest from two or more peers over the SAME root and field set and report whether they agree (read-only). Converged means every peer's digest is byte-equal; when they differ, diverged_at names the node paths that disag…
- `runtime_screenshot` — Capture the current game frame as a PNG and return it as image content so the assistant can see the running game.
- `runtime_screenshot_diff` — Capture the current frame and compare it to a reference PNG at a project path, returning diff stats and a pass/fail vs tolerance (read-only; the diff is computed engine-side so the host stays dependency-free). Establish the reference fir…
- `runtime_state_digest` — Capture a compact, stable-ordered JSON snapshot of a live subtree's salient state (read-only) — position, rotation, scale, visibility, and modulate by default, or a caller-supplied field list. Deterministic ordering makes it ideal for fr…
- `scene_get_dependencies` — List the external resource dependencies of a scene file. Read-only. Defaults to the current scene.
- `scene_get_tree` — Return the node tree of the currently edited scene (name, type, path, script, children).
- `scene_list_open` — List the res:// paths of all scenes open in the editor, which one is current, and which have unsaved changes. Read-only.
- `screenshot_editor` — Capture the 2D or 3D editor viewport as a PNG and return it as image content so the assistant can see the scene. Requires the matching editor tab (2D/3D) to be active and rendered.
- `selection_get` — Return the paths of the nodes currently selected in the editor.
- `signal_list` — List the signals a node declares (name and argument names), including user signals. Read-only.
- `signal_list_connections` — List a node's outgoing signal connections (signal, target node path, method, flags). Optionally filter to one signal. Read-only.
- `test_detect` — Detect an installed GDScript test framework (GUT or GdUnit4) in the project. Returns { framework: gut|gdunit4|none, path, version }. Read-only.
- `test_list` — List GDScript test scripts (files named test_*.gd or *_test.gd) under a directory (default res://test), searched recursively. Read-only.
- `tilemap_get_cell` — Read one cell of a TileMapLayer. An empty cell reads back as source_id -1, atlas_coords [-1, -1], alternative 0 (empty = true).
- `vcs_blame` — Per-line last-change attribution for a file: for each line, the short commit, author, ISO date, and the line text. Optionally restrict to a [start,end] line range (1-based, inclusive). Read-only.
- `vcs_branch_list` — List branches with their short object name and a flag for the current branch. Local only by default; set remotes=true to include remote-tracking branches. Read-only.
- `vcs_diff` — Unified diff of the working tree (default) or the staged index (staged=true), optionally scoped to a single path (res:// or repo-relative). Returns the patch text (tail-truncated for large diffs) plus the list of changed files parsed fro…
- `vcs_log` — Recent commits, newest first: full and short hash, author, ISO author date, and subject. Optionally limit to commits touching a path (accepts res:// or repo-relative). Read-only.
- `vcs_show` — Inspect a commit or a file at a revision. With no path: commit metadata (hash, author, date, subject, body) plus its patch (tail-truncated). With a path: the file's full content at that ref. ref defaults to HEAD and accepts any revision …
- `vcs_status` — Working-tree status of the project's git repository: current branch, upstream ahead/behind, and the staged / unstaged / untracked / unmerged file lists. Read-only. Reports clean=true when nothing is pending. Errors clearly if the project…
- `anim_add_track` — Add a track to an Animation and set its target path (undoable). Returns the new track index.
- `anim_create` — Create an empty Animation in an AnimationPlayer's library (undoable). Creates the library if it does not exist yet.
- `anim_insert_key` — Insert a keyframe on a track at a given time (undoable). A key already at that exact time is overwritten.
- `anim_player_create` — Add an AnimationPlayer node under a parent (undoable). Seeds an empty default animation library so anim_create works immediately.
- `anim_set_length` — Set an Animation's length in seconds (undoable).
- `anim_set_loop` — Set an Animation's loop mode (undoable).
- `anim_statemachine_add_state` — Add a state to an AnimationNodeStateMachine (undoable). Targets the AnimationTree's tree_root when it is a state machine, or a nested state-machine node via state_machine. Defaults the state to an AnimationNodeAnimation; pass animation t…
- `anim_statemachine_add_transition` — Add a transition between two states in an AnimationNodeStateMachine (undoable). from_state/to_state must exist (or be the built-in "Start"/"End"). switch_mode: immediate|sync|at_end; advance_mode: disabled|enabled|auto.
- `anim_tree_add_node` — Add a node to an AnimationTree's tree_root graph (AnimationNodeBlendTree or AnimationNodeStateMachine), undoable. node_type is any AnimationNode subclass (e.g. AnimationNodeAnimation, AnimationNodeBlend2, AnimationNodeStateMachine). For …
- `anim_tree_create` — Add an AnimationTree node under a parent (undoable) with a fresh tree_root graph. root_type "blend_tree" (AnimationNodeBlendTree) or "state_machine" (AnimationNodeStateMachine). Created inactive by default; set anim_player_path to the An…
- `area_set_gravity` — Set the local gravity override of an Area2D/3D in the edited scene (undoable): space_override mode, gravity magnitude, direction, and whether gravity points toward a center (point). In-scene and undoable — not gated.
- `area_set_monitoring` — Set monitoring and/or monitorable on an Area2D/3D in the edited scene (undoable). monitoring = the area detects overlapping bodies/areas; monitorable = other areas can detect it. In-scene and undoable — not gated.
- `asset_gen_placeholder` — Write a deterministic, in-engine PROCEDURAL placeholder asset to a res:// path — no model, fully reproducible (colour/frequency/size derive from a hash of the prompt). Always available regardless of the configured backend. kind picks the…
- `audio_bus_add` — Add a bus to the project's global AudioServer layout, optionally naming it, positioning it (at_position), and setting its send bus. DESTRUCTIVE (project-wide audio state) — gated by confirmation.
- `audio_bus_add_effect` — Instantiate an AudioEffect subclass (by class name, e.g. "AudioEffectReverb") and add it to a named bus on the global AudioServer, optionally at a position in the bus's effect chain. DESTRUCTIVE (project-wide audio state) — gated by conf…
- `audio_bus_set_volume` — Set the volume (in dB) of a named bus on the global AudioServer. DESTRUCTIVE (project-wide audio state) — gated by confirmation.
- `audio_player_create` — Add an AudioStreamPlayer / AudioStreamPlayer2D / AudioStreamPlayer3D node under a parent in the edited scene (undoable). dim selects "none" (default, non-positional AudioStreamPlayer), "2d", or "3d". Optional initial stream_path (res:// …
- `audio_set_bus_layout` — Save the current AudioServer bus layout (buses, effects, volumes) to a .tres resource on disk (default res://default_bus_layout.tres) via generate_bus_layout + ResourceSaver.save. DESTRUCTIVE (writes a file) — gated by confirmation.
- `audio_set_stream` — Load an AudioStream from a res:// path and assign it as stream on an AudioStreamPlayer/2D/3D in the edited scene (undoable). In-scene and undoable — not gated.
- `auth_scaffold` — Generate login/register/logout helpers against an installed backend SDK. FEATURE-DETECTED both ways: if the SDK provides no auth API (Photon is realtime transport), degrades to 'unsupported_feature'; if the SDK is not installed, degrades…
- `board_create` — Build a board scene whose children are addressable cells (each a cell_<id> node in the board_cells group) from a ring, grid, or explicit-cells layout. Cells are Marker2D (or Control) anchors positioned by pure layout math; an optional ba…
- `board_place` — Reparent an existing node (a card or piece instance) onto a board cell by id and snap it to the cell anchor. Undoable node authoring. The target cell is <board>/cell_<cell>; align offsets the node from the cell origin (default centred). …
- `board_tile_create` — Build a tile-backed board scene: a TileMapLayer grid whose cells are addressable by integer [x, y] tile coordinates (cols wide × rows tall). The layer binds a TileSet — a supplied tileset .tres, or a fresh empty one created at <scene>_ti…
- `board_tile_place` — Snap an existing node (a card or piece instance) onto a TileMapLayer cell by integer [x, y] tile coordinate. Undoable node authoring. The cell's local position is computed from tile_size — centre (coord + 0.5) × tile_size (default) or co…
- `body_create` — Add a physics body node under a parent in the edited scene (undoable): a StaticBody, RigidBody, CharacterBody, or Area, in 2D or 3D. In-scene and undoable — not gated. Attach collision shapes with collisionshape_add.
- `body_set_collision_layer` — Set the collision_layer bitmask on a physics body or area (CollisionObject2D/3D) in the edited scene (undoable). layer is the integer bitmask of layers this object occupies.
- `body_set_collision_mask` — Set the collision_mask bitmask on a physics body or area (CollisionObject2D/3D) in the edited scene (undoable). mask is the integer bitmask of layers this object scans for collisions.
- `body_set_physics_material` — Create a PhysicsMaterial and assign it as physics_material_override on a StaticBody/RigidBody (2D or 3D) in the edited scene (undoable): friction (default 1), bounce (default 0), rough, absorbent. In-scene and undoable — not gated.
- `camera_create` — Add a Camera3D under a parent (undoable). Optional 'current' makes it the active camera. Returns the new node's path.
- `card_deck_from_table` — Read a CSV or JSON table and stamp one card per row, binding columns to slots via a column map. Undoable node authoring. column_map values are bare {column} references or composed templates like "{name} · {role}"; a filter selects rows a…
- `card_hand_layout` — Instance N cards under a container and arrange them as a row, fan, stack, or grid. Undoable node authoring. Each card carries its own data (bound via the template's set_data) and face state; spacing / overlap / fan_angle / columns / alig…
- `card_instance` — Instance a card template into the open scene and bind data to its slots via the template's set_data(). Undoable node authoring. Slot values are strings/numbers/booleans; any texture slot (e.g. art) takes a res:// texture path. Reports wh…
- `card_set_face` — Flip an instanced card (or any node exposing set_face(bool) — the generated card and piece scripts both do) between its face and back. Instant by default: calls the setter now, so the visible side changes immediately. With animate, inste…
- `card_template_create` — Build a reusable card scene (a PackedScene) from a slot spec, with a generated script-backed set_data() / set_face(). Named slots (label / rich_text / texture / panel / badge) become the card's regions; card_instance and card_deck_from_t…
- `cloudsave_scaffold` — Generate save/load cloud-save helpers against an installed backend SDK. FEATURE-DETECTED both ways: if the SDK provides no cloud-save API (Photon is realtime transport), degrades to 'unsupported_feature'; if the SDK is not installed, deg…
- `collisionpolygon_add` — Add a CollisionPolygon2D/3D node carrying a polygon under a parent (usually a body) in the edited scene (undoable). points is a 2D outline [[x, y], …] (≥3); for 3D it is extruded along Z by depth. 2D build_mode is solids | segments. In-s…
- `collisionshape_add` — Add a CollisionShape2D/3D node carrying a shape resource under a parent (usually a body) in the edited scene (undoable). shape is rect | circle | capsule | polygon; dim selects 2D (Rectangle/Circle/Capsule/ConvexPolygon 2D) or 3D (Box/Sp…
- `container_add_child` — Instance a Control-derived child under a Container node (VBoxContainer, GridContainer, MarginContainer, …) so it participates in the container's layout (undoable). Refuses a non-Container parent or a non-Control child. Returns the new no…
- `control_create` — Instance a Control-derived UI node (Button, Label, Panel, VBoxContainer, TextureRect, …) under a parent (undoable). Refuses non-Control classes. Optional 'text' is applied only to controls that expose a 'text' property. Returns the new n…
- `control_set_anchors` — Set one or more of a Control's anchors (left/top/right/bottom, each 0..1) directly (undoable). Only the sides you pass are changed; offsets are left as-is. Provide at least one side.
- `control_set_layout_preset` — Apply a LayoutPreset to a Control via set_anchors_and_offsets_preset (undoable). 'preset' is a name (full_rect, center, top_left, center_top, left_wide, hcenter_wide, …) or the integer enum value. Optional resize_mode (0=min_size,1=keep_…
- `control_set_size_flags` — Set a Control's container size flags and/or stretch ratio (undoable). 'horizontal'/'vertical' are SizeFlags bitmasks (1=fill, 2=expand, 3=expand_fill, 4=shrink_center, 8=shrink_end). Provide at least one of horizontal/vertical/stretch_ra…
- `control_set_theme` — Assign a Theme resource (res:// path) to a Control's 'theme' property so it and its children inherit it (undoable). Pass an empty theme_path to clear the override.
- `cs_completion` — Type-aware C# code completion at a position via OmniSharp.
- `cs_rename` — Rename a C# symbol project-wide via OmniSharp. Returns the planned edit; pass apply=true to WRITE the changes to disk (DESTRUCTIVE — confirm with the user).
- `csg_create` — Add a CSG node under a parent (undoable). 'shape' selects CSGBox3D (box), CSGSphere3D (sphere), CSGCylinder3D (cylinder), CSGTorus3D (torus), CSGPolygon3D (polygon), CSGMesh3D (mesh), or CSGCombiner3D (combiner). Returns the new node's p…
- `dbg_set_breakpoints` — Set (replace) the breakpoints for a source file. Applied immediately if a session is running, else buffered until launch. Feature-detected: the per-line conditions / hit_conditions / log_messages modifiers are only sent when the connecte…
- `editor_redo` — Re-apply the most recently undone edit in the editor's undo history (like Ctrl-Shift-Z). Defaults to the edited scene's history; pass scope='global' for the editor-wide history.
- `editor_undo` — Undo the most recent edit in the editor's undo history (like Ctrl-Z). Defaults to the edited scene's history; pass scope='global' for the editor-wide history. Returns whether an action was undone, its name, and the remaining undo/redo de…
- `editorsettings_get_set` — Read an EditorSettings value by name; if 'value' is provided, write it instead (persists to the editor's global config). Reading is read-only; writing is DESTRUCTIVE (mutates the editor config) — gated by confirmation.
- `environment_create` — Create an Environment resource and save it to a res:// path. 'background' sets the mode (clear_color/color/sky/canvas, default clear_color); optional 'ambient_color' ([r,g,b(,a)], 0..1) sets the ambient light color. DESTRUCTIVE (writes a…
- `environment_set_sky` — Attach a Sky to an existing Environment resource file (setting a ProceduralSkyMaterial, PhysicalSkyMaterial, or PanoramaSkyMaterial) and switch its background to SKY, then re-save. DESTRUCTIVE (writes a file) — gated by confirmation. Ref…
- `filesystem_create_dir` — Create a directory (recursively) in the project filesystem, then rescan. No-op if it already exists.
- `inputmap_add_action` — Define a project input action (ProjectSettings input/<name>) with an empty event list and a deadzone. Set save=true to persist to project.godot. DESTRUCTIVE (project-wide input map) — gated by confirmation.
- `inputmap_add_event` — Append an input event to an existing project input action. 'event' is { type: key|mouse_button|joy_button|joy_motion, ... } — key: keycode or physical_keycode as a name like "A"/"Space" or an int; mouse_button/joy_button: button_index; j…
- `interact_add_drop_zone` — Mark a node as a drop target that validates an incoming payload and emits a signal on a valid drop. Attaches a generated validator/acceptor script that DECLARES the on_drop signal (so it survives a scene reload), and (for node2d) builds …
- `interact_make_draggable` — Wire an existing node for drag-and-drop by attaching a generated reusable drag script (and, for node2d, a drag input action + a hit-area input_event connection). COMPOSES with the node's existing script: if it already has one, the drag s…
- `joint_create` — Add a physics joint node under a parent in the edited scene (undoable). 2D types: pin | groove | spring (PinJoint2D/GrooveJoint2D/DampedSpringJoint2D); 3D types: pin | hinge | slider | cone_twist | generic6dof (PinJoint3D/HingeJoint3D/Sl…
- `joint_set_bodies` — Set node_a and/or node_b on an existing Joint2D/3D in the edited scene (undoable) — the NodePaths of the two bodies the joint connects, relative to the joint node. In-scene and undoable — not gated.
- `leaderboard_scaffold` — Generate submit/fetch leaderboard helpers against an installed backend SDK. FEATURE-DETECTED both ways: if the SDK provides no leaderboard API (Photon is realtime transport), degrades to 'unsupported_feature'; if the SDK is not installed…
- `light_create` — Add a 3D light under a parent (undoable). 'kind' selects DirectionalLight3D (dir), OmniLight3D (omni), or SpotLight3D (spot). Returns the new node's path.
- `mesh_set_surface_material` — Assign a Material (res:// path) to a MeshInstance3D (undoable). Default surface -1 sets 'material_override' (whole instance); a surface index >= 0 sets that surface's override material (must be within the mesh's surface count). Refuses a…
- `meshinstance_create` — Add a MeshInstance3D under a parent (undoable). Optional 'mesh_path' loads a Mesh resource (e.g. a primitive_mesh_create output) and assigns it. Returns the new node's path.
- `mp_add_spawner` — Add a MultiplayerSpawner node under a parent (undoable). Godot 4 high-level multiplayer replicates server-spawned nodes to clients: set spawn_path to the node whose children are auto-replicated, and register the scenes it may spawn. Pure…
- `mp_add_synchronizer` — Add a MultiplayerSynchronizer node under a parent (undoable) and, if properties are given, build a SceneReplicationConfig that replicates them. root_path is the node the property NodePaths are relative to (default "..", the synchronizer'…
- `mp_scaffold_lobby` — Generate a lobby controller GDScript: host/join over ENet plus peer_connected/peer_disconnected tracking with player_joined / player_left / server_started / join_succeeded / join_failed signals. Attach it to your lobby scene root. DESTRU…
- `mp_set_authority` — Set a node's multiplayer authority (set_multiplayer_authority) to a peer id (undoable). The authority peer is the one allowed to push "authority"-mode RPCs and MultiplayerSynchronizer state for that node. peer_id 1 is the server. Pure no…
- `mp_setup_enet_peer` — Generate a GDScript helper that sets up an ENetMultiplayerPeer (host_game / join_game / close) and assigns multiplayer.multiplayer_peer. Godot's default, always-available transport. DESTRUCTIVE (writes a .gd file) — gated by confirmation…
- `mp_setup_webrtc_peer` — Generate a GDScript helper that sets up a WebRTCMultiplayerPeer mesh and assigns multiplayer.multiplayer_peer. FEATURE-DETECTED: if the WebRTC module/extension is absent from this Godot build, the tool degrades to a clear "unsupported" r…
- `navagent_configure` — Add a NavigationAgent3D under a parent (undoable) and set any of its steering/avoidance properties. Returns the new node's path and the resulting config (radius, height, max_speed, path/target desired distances, avoidance_enabled).
- `navregion_create` — Add a NavigationRegion3D under a parent (undoable). By default seeds a fresh empty NavigationMesh (set with_navmesh=false to skip). Returns the new node's path and whether a navmesh was attached.
- `node_add` — Instance a node of the given class under a parent path (undoable). Returns the new node's path.
- `node_add_to_group` — Add a node to a group (persistent, undoable). No-op if already a member.
- `node_change_type` — Replace a node with a new node of a different class, carrying over compatible properties, children, and groups (undoable). Refuses the scene root.
- `node_duplicate` — Duplicate a node and its children under the same parent (undoable). Returns the new node's path.
- `node_instantiate_scene` — Instance an external PackedScene (res:// path) as an editable child of a parent node (undoable). Returns the new node's path.
- `node_move_child` — Reorder a node among its siblings by index (undoable). Negative indices count from the end (-1 = last).
- `node_remove_from_group` — Remove a node from a group (undoable). No-op if not a member.
- `node_rename` — Rename a node (undoable).
- `node_reparent` — Move a node under a new parent (undoable).
- `node_set_editable_instance` — Toggle "Editable Children" on an instanced sub-scene (undoable). When enabled, property overrides on the instance's internal nodes serialize into the saved scene; without it the sub-scene is sealed and its internals revert on reload. Thi…
- `node_set_owner` — Set a node's owner (undoable). Owner must be an ancestor; "." or omitted sets the scene root. Ownership determines which scene a node is saved into.
- `node_set_property` — Set a property on a node (undoable). Rich types use the {"__type__":"Vector3","x":..} convention. Example value for position: {"__type__":"Vector3","x":1,"y":0,"z":2}.
- `particles_create` — Add a GPUParticles2D/3D node under a parent in the edited scene (undoable). Optional initial amount (> 0), lifetime (> 0), emitting. In-scene and undoable — not gated.
- `particles_set_amount` — Set the number of particles (amount, > 0) on a GPUParticles2D/3D in the edited scene (undoable). In-scene and undoable — not gated.
- `particles_set_emitting` — Toggle whether a GPUParticles2D/3D is emitting in the edited scene (undoable). In-scene and undoable — not gated.
- `particles_set_lifetime` — Set the particle lifetime in seconds (> 0) on a GPUParticles2D/3D in the edited scene (undoable). In-scene and undoable — not gated.
- `particles_set_process_material` — Create a ParticleProcessMaterial and assign it as process_material on a GPUParticles2D/3D in the edited scene (undoable). Optional knobs: gravity [x, y, z], direction [x, y, z], spread, initial_velocity_min/max, scale_min/max, color [r, …
- `particles_set_texture` — Load a Texture2D from a res:// path and assign it as texture on a GPUParticles2D in the edited scene (undoable). GPUParticles2D only — GPUParticles3D draws meshes and has no texture (returns unsupported). In-scene and undoable — not gated.
- `physics_set_gravity` — Write the project's default gravity for 2D or 3D (ProjectSettings physics/{2d,3d}/default_gravity + default_gravity_vector). Set save=true to persist to project.godot. DESTRUCTIVE (project-wide setting) — gated by confirmation.
- `piece_instance` — Instance a piece template into the open scene and bind data (art / color / label) via the template's set_data(). Undoable node authoring. Optionally place_on a board cell in the same call (reparent + snap via board_place). Reports which …
- `piece_move` — Move a piece onto a board cell by id (reparent + snap via board_place), optionally with a short scale "pop" animation authored from Group C anim primitives. Undoable node authoring; purely additive — it emits only existing node / anim op…
- `piece_template_create` — Build a reusable piece (token) scene from a spec: an Art node (Sprite2D under a Node2D root, TextureRect under a Control root), an optional Label, an optional hit area (Area2D + CollisionShape2D), and an optional two-sided Back, plus a g…
- `primitive_mesh_create` — Create a PrimitiveMesh resource (box/sphere/cylinder/plane/capsule/prism/torus/quad) and save it to a res:// path. DESTRUCTIVE (writes a file) — gated by confirmation. Assign it with meshinstance_create's 'mesh_path'.
- `project_add_autoload` — Register an autoload (ProjectSettings autoload/<name>) pointing at a res:// script or scene, enabled as a global singleton by default. Set save=true to persist to project.godot. DESTRUCTIVE — gated by confirmation.
- `project_add_export_preset` — Append an export preset to res://export_presets.cfg for a platform (e.g. "Windows Desktop", "Web", "Linux/X11", "macOS"). Returns the preset's index. DESTRUCTIVE (writes export_presets.cfg) — gated by confirmation.
- `project_set_main_scene` — Set the project's main scene (ProjectSettings application/run/main_scene) to an existing res:// .tscn/.scn. Set save=true to persist to project.godot. DESTRUCTIVE — gated by confirmation.
- `project_set_setting` — Write a ProjectSettings value. Set save=true to persist to project.godot. DESTRUCTIVE — gated by confirmation.
- `resource_create` — Instantiate a Resource subclass and save it as a new file. DESTRUCTIVE (writes a file) — gated by confirmation. Optional initial properties use the tagged-Variant convention.
- `resource_duplicate` — Load a resource, duplicate it (optionally deep, cloning subresources), and save the copy to a new path. DESTRUCTIVE (writes a file) — gated by confirmation.
- `resource_set_property` — Set a single property on a resource file and save it. DESTRUCTIVE (writes a file) — gated by confirmation. The value uses the tagged-Variant convention.
- `rigidbody_set_properties` — Tune a RigidBody2D/3D in the edited scene (undoable): mass (> 0), gravity_scale, linear_damp, angular_damp. Only the provided properties change. In-scene and undoable — not gated.
- `runtime_set_property` — Set a property on a live node. DESTRUCTIVE (mutates running game state) — gated by confirmation. Rich types use the {"__type__":...} convention.
- `scene_new` — Create a new scene with the given root class, save it to a path, and open it. DESTRUCTIVE (writes a file) — gated by confirmation.
- `scene_open` — Open an existing scene in the editor by res:// path.
- `scene_pack` — Save a node branch (the node and its subtree) as a new PackedScene file. DESTRUCTIVE (writes a file) — gated by confirmation. Does not modify the edited scene.
- `scene_save` — Save the currently edited scene to its existing path.
- `scene_save_as` — Save the current scene to a new res:// path (Save As). DESTRUCTIVE (writes a file) — gated by confirmation.
- `selection_set` — Replace the editor's node selection with the given node paths.
- `shader_create` — Create a Shader resource with optional initial code and save it as a .gdshader file. DESTRUCTIVE (writes a file) — gated by confirmation.
- `shadermaterial_create` — Create a ShaderMaterial and assign it to a node's material slot in the edited scene (undoable). Targets CanvasItem.material (2D / Control) or GeometryInstance3D.material_override (3D); other node types return unsupported. Optionally assi…
- `shadermaterial_set_param` — Set a shader uniform parameter on the ShaderMaterial of a node's material slot in the edited scene (undoable). The node must already have a ShaderMaterial. The value uses the tagged-Variant convention. In-scene and undoable — not gated.
- `shadermaterial_set_shader` — Load a Shader from a res:// path and assign it to the ShaderMaterial on a node's material slot in the edited scene (undoable). The node must already have a ShaderMaterial. In-scene and undoable — not gated.
- `signal_add_user_signal` — Declare a new user signal on a node (undoable). Optional typed arguments. Errors if the signal already exists.
- `signal_connect` — Connect a source node's signal to a target node's method (undoable). Persistent by default (flags=2, CONNECT_PERSIST) so it saves into the scene. No-op if already connected.
- `signal_disconnect` — Disconnect a source node's signal from a target node's method (undoable). No-op if not connected.
- `theme_create` — Create a new empty Theme resource and save it to a res:// path. DESTRUCTIVE (writes a file) — gated by confirmation.
- `theme_set_color` — Set a color entry on a Theme resource file and save it (e.g. font_color for the Button type). DESTRUCTIVE (writes a file) — gated by confirmation. 'color' is [r,g,b] or [r,g,b,a] with components 0..1.
- `theme_set_constant` — Set an integer constant entry on a Theme resource file and save it (e.g. h_separation for a BoxContainer). DESTRUCTIVE (writes a file) — gated by confirmation.
- `theme_set_font` — Set a font entry on a Theme resource file (loading a Font from a res:// path) and save it. DESTRUCTIVE (writes a file) — gated by confirmation.
- `theme_set_stylebox` — Set a StyleBox entry on a Theme resource file (loading a StyleBox from a res:// path) and save it. DESTRUCTIVE (writes a file) — gated by confirmation.
- `tilemap_set_cell` — Paint a single cell on a TileMapLayer (undoable). source_id -1 erases the cell (default). atlas_coords defaults to [0, 0]; alternative defaults to 0.
- `tilemap_set_cells_rect` — Paint every cell in a rectangular region of a TileMapLayer with one tile (undoable, one action). source_id -1 clears the region. Capped at 65536 cells; split larger fills across calls.
- `tilemaplayer_create` — Add a TileMapLayer node under a parent in the edited scene (undoable), optionally binding a TileSet .tres so cells can be painted. In-scene and undoable — not gated.
- `tileset_add_source` — Add a TileSetAtlasSource (backed by a Texture2D) to a TileSet .tres and re-save. DESTRUCTIVE (writes a file) — gated by confirmation. texture_region_size defaults to the TileSet's tile_size; source_id -1 auto-assigns.
- `tileset_add_tile` — Create a tile at atlas_coords in an atlas source of a TileSet .tres and re-save. DESTRUCTIVE (writes a file) — gated by confirmation. size is measured in atlas cells (default [1, 1]).
- `tileset_create` — Instantiate a TileSet resource and save it as a new .tres file. DESTRUCTIVE (writes a file) — gated by confirmation. tile_size is the base grid cell size in pixels (default 16×16).
- `tileset_set_tile_collision` — Add a collision polygon to a tile on a TileSet physics layer and re-save. DESTRUCTIVE (writes a file) — gated by confirmation. Physics layers are created as needed. polygon is an array of [x, y] points (>= 3), tile-local pixels.
- `vcs_add` — Stage changes for the next commit. With paths, stages exactly those (res:// or repo-relative); omit paths to stage everything (git add -A). Returns the resulting staged file list. Reversible with vcs_restore-staged / git restore --staged…
- `vcs_branch_create` — Create a new branch, optionally starting from a given ref (default HEAD), and optionally switch to it. Reversible (git branch -d), so not gated. Errors clearly if the branch already exists.
- `vcs_commit` — Commit the currently staged changes with a message. Reversible (git reset --soft HEAD~1) and loses nothing, so not gated. Errors clearly if nothing is staged. Commit signing is disabled for this call so it can never block on a passphrase…

## Related servers

- UnClick (1662 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Delx Protocol — Agent Recovery & Continuity (1076 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-protocol.md
- Delx Mcp A2a (1068 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- MCP Framework Personal (811 tools) — https://policylayer.com/tools/inggerman-mcps.md
- Delx MCP Server (740 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-server.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- Eda Agent (726 tools) — https://policylayer.com/tools/eda-agent.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=breakpoint-mcp · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/breakpoint-mcp
