Godot MCP Server

167 tools. 101 can modify or destroy data without limits.

8 destructive tools with no built-in limits. Policy required.

Last updated:

101 can modify or destroy data
66 read-only
167 tools total

Community server · catalogue entry verified 29/06/2026

How to control Godot MCP Server ↓

What Godot MCP Server exposes to your agents

Read (66) Write / Execute (93) Destructive / Financial (8)
Critical Risk

The most dangerous Godot MCP Server tools

101 of Godot MCP Server's 167 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Godot MCP Server

PolicyLayer is an MCP gateway — it sits between your AI agents and Godot MCP Server, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "batch_delete_nodes": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "add_animation_track": {
    "limits": [
      {
        "counter": "add_animation_track_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "analyze_code_complexity": {
    "limits": [
      {
        "counter": "analyze_code_complexity_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Godot MCP Server — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON GODOT →

Instant setup, no code required.

All 167 Godot MCP Server tools

EXECUTE 25 tools
Execute assert_screen_text Assert that a given text string appears on the screen within a timeout. Execute bake_navigation_mesh Bake the navigation mesh for a NavigationRegion3D node. Execute call_game_node_method Call a method on a node in the running game. Execute connect_game_signal Listen to a signal on a node in the running game and return fired events. Execute deploy_to_android Build and deploy the project to a connected Android device. Execute dismiss_dialogs Dismiss any open modal dialogs in the Godot editor. Execute execute_game_script Execute arbitrary GDScript code in the running game context. Execute export_project Export the project using a named export preset. Execute focus_node Focus/frame a node in the 2D/3D viewport. Execute open_scene Open a scene in the Godot editor. Execute play_animation Play an animation on an AnimationPlayer node. Execute play_scene Run the project (or a specific scene) in the Godot game window. Execute reload_plugin Reload an editor plugin by name. Execute run_editor_script Execute arbitrary GDScript code in the editor context (EditorScript). Execute run_stress_test Run a stress test scenario and collect performance data over time. Execute run_test_scenario Run a structured test scenario in the running game and collect results. Execute select_node Select a node in the editor scene tree panel. Execute simulate_action Simulate an Input Map action in the running game. Execute simulate_key Simulate a keyboard key event in the running game. Execute simulate_mouse_click Simulate a mouse button click in the running game. Execute simulate_mouse_move Simulate mouse movement in the running game. Execute simulate_sequence Simulate a sequence of input events in the running game. Execute start_frame_capture Start continuous frame capture from the running game. Execute stop_frame_capture Stop continuous frame capture from the running game. Execute stop_scene Stop the currently running game.
WRITE 68 tools
Write add_animation_track Add a track to an animation in an AnimationPlayer. Write add_audio_bus Add a new audio bus. Write add_audio_bus_effect Add an audio effect to a bus. Write add_audio_player Add an AudioStreamPlayer node to the scene. Write add_mesh_instance Add a MeshInstance3D with a primitive mesh to the scene. Write add_node Add a new node to the currently open scene. Write add_raycast Add a RayCast3D/2D node to the scene. Write add_scene_instance Instance an existing scene into the currently open scene. Write add_state_machine_state Add a state to an AnimationNodeStateMachine inside an AnimationTree. Write add_state_machine_transition Add a transition between two states in an AnimationNodeStateMachine. Write add_world_environment Add a WorldEnvironment node with a sky to the scene. Write apply_particle_preset Apply a named particle effect preset to a particle node. Write apply_theme_to_node Apply a Theme resource to a Control node. Write assign_shader_material Assign a shader (as a ShaderMaterial) to a node. Write attach_script Attach an existing script to a node in the current scene. Write batch_add_nodes Add multiple nodes to the scene in a single call. Write batch_set_property Set the same property on multiple nodes at once. Write clear_editor_errors Clear the error list in the Godot editor output panel. Write close_scene Close the currently open scene. Write connect_signal Connect a signal from one node to a method on another node. Write create_animation Create a new animation in an AnimationPlayer node. Write create_animation_tree Create and attach an AnimationTree node. Write create_directory Create a directory inside the project filesystem. Write create_particles Add a GPUParticles3D or CPUParticles2D node to the scene. Write create_resource Create a new Godot Resource file of the given type. Write create_scene Create a new scene file in the project. Write create_script Create a new GDScript file, optionally with initial content and optionally attach it to a node. Write create_shader Create a new shader file. Write create_theme Create a new Theme resource file. Write disconnect_signal Disconnect a previously connected signal. Write duplicate_node Duplicate a node in the scene. Write edit_resource Update properties of an existing Godot Resource file. Write edit_script Overwrite the content of an existing GDScript file. Write edit_shader Overwrite the GLSL code of an existing shader file. Write move_file Move or rename a file within the project filesystem. Write move_node Reparent a node to a different parent in the scene tree. Write rename_node Rename a node in the scene. Write replace_node_type Replace a node with a new node of a different type (preserving children and position). Write save_scene Save the currently open scene. Write set_animation_keyframe Set a keyframe value on an animation track. Write set_animation_tree_root Set the root AnimationNode type on an AnimationTree. Write set_audio_bus_volume Set the volume of an audio bus. Write set_collision_layer_name Set the name of a collision layer in the project settings. Write set_editor_setting Set an EditorSettings value. Write set_game_node_property Set a property on a node in the running game (live edit). Write set_input_action Create or update an input action in the Input Map. Write set_material_3d Create and assign a StandardMaterial3D (or BaseMaterial3D) to a MeshInstance3D. Write set_navigation_layers Set the navigation layer bitmask on a navigation node. Write set_node_owner Set the owner of a node (required for saving packed scenes). Write set_particle_material Set the process material properties on a particle node. Write set_particle_property Set a single property on a particle node. Write set_physics_layers Set the collision layer and mask bitmasks on a physics body node. Write set_project_setting Set a project setting value in the Godot ProjectSettings. Write set_shader_param Set a shader uniform parameter on a node Write set_theme_color Set a color entry in a Theme resource. Write set_theme_font_size Set a font size entry in a Theme resource. Write set_theme_stylebox Set a StyleBox entry in a Theme resource. Write set_tree_parameter Set a parameter on an AnimationTree (e.g. blend position, condition). Write setup_camera_3d Add a Camera3D node to the scene with optional configuration. Write setup_collision Add a CollisionShape3D/2D with a given shape to a node. Write setup_lighting Add a light node to the scene. Write setup_navigation_agent Add a NavigationAgent3D/2D node to the scene. Write setup_navigation_region Add a NavigationRegion3D/2D with a NavigationMesh to the scene. Write setup_physics_body Add a physics body node (RigidBody3D, CharacterBody3D, StaticBody3D, etc.) to the scene. Write setup_reflection_probe Add a ReflectionProbe node to the scene. Write tilemap_fill_rect Fill a rectangular area of a TileMap with a specific tile. Write tilemap_set_cell Set a single cell in a TileMap node. Write update_property Set a property value on a node in the currently open scene.
READ 66 tools
Read analyze_code_complexity Analyze a GDScript file and report cyclomatic complexity, function count, line count, etc. Read analyze_scene_complexity Analyze a scene and report node count, depth, script count, and other complexity metrics. Read analyze_signal_flow Analyze and map all signal connections for a node and its children. Read assert_node_state Assert that a node Read capture_frames Capture multiple screenshots from the running game at a given interval. Read detect_circular_dependencies Detect circular script/resource dependencies in the project. Read find_game_node Find a node by name in the running game scene tree. Read find_missing_references Find broken/missing resource references in the current scene. Read find_nodes_by_type Find all nodes of a given type in the editor scene. Read find_unused_resources Find resource files in the project that are not referenced by any scene or script. Read get_android_preset_info Get information about the Android export preset configuration. Read get_audio_bus_layout Get the current audio bus layout (buses, effects, volumes). Read get_autoloads Get the list of autoload singletons registered in the project. Read get_collision_layers_info Get collision layer names and bitmask configuration from the project settings. Read get_current_scene Get information about the currently open scene in the editor. Read get_editor_errors Get current errors and warnings shown in the Godot editor output/debugger. Read get_editor_performance Get performance metrics for the Godot editor process itself. Read get_editor_screenshot Capture a screenshot of the Godot editor window. Read get_editor_setting Get an EditorSettings value. Read get_editor_state Get the current state of the Godot editor (open scene, selected node, play state, etc.). Read get_export_info Get details about an export preset (platform, options, features). Read get_filesystem_tree Get the filesystem tree of the project starting at the given path. Read get_game_autoloads Get all autoload singletons from the running game. Read get_game_globals Get global autoload singletons and their properties from the running game. Read get_game_node_properties Get properties of a node in the running game. Read get_game_performance Get performance monitor values from the running game (FPS, memory, draw calls, etc.). Read get_game_render_info Get rendering information from the running game (render time, object count, etc.). Read get_game_scene_tree Get the scene tree of the running game. Read get_game_screenshot Capture a screenshot of the running game viewport. Read get_game_signals Get signals defined on a node in the running game. Read get_input_actions Get all input actions and their event bindings from the project Input Map. Read get_navigation_map_info Get information about the navigation maps in the current scene. Read get_node_children Get the direct children of a node. Read get_node_properties Get all properties and their values for a node in the scene. Read get_node_signals List all signals defined by a node. Read get_particle_info Get configuration and status information about a particle node. Read get_performance_monitors Get all available Performance monitor values from the running game. Read get_physics_state Get physics body state (velocity, angular velocity, contacts) for a node in the running game. Read get_project_info Get general information about the current Godot project (name, path, Godot version, settings). Read get_project_setting Get the current value of a project setting. Read get_project_statistics Get high-level statistics about the project (file counts by type, total scene nodes, etc.). Read get_resource_preview Get a preview image (base64) for a resource file. Read get_scene_tree Get the full scene tree structure of the currently open scene. Read get_script_dependencies Get all resources and scripts that a given script depends on. Read get_selected_nodes Get the list of currently selected nodes in the editor. Read get_shader_params Get all shader uniform parameters from a node Read get_test_results Get the results of the last test run. Read get_theme_colors Get all color entries in a Theme resource. Read get_theme_info Get a summary of all entries in a Theme resource. Read get_tileset_info Get information about the TileSet resource attached to a TileMap. Read get_tree_parameter Get a parameter value from an AnimationTree. Read list_android_devices List Android devices connected via ADB. Read list_animations List all animations in an AnimationPlayer node. Read list_export_presets List all export presets defined in the project. Read list_game_nodes_by_type Find all nodes of a given type in the running game scene tree. Read list_scenes List all scene files (.tscn) in the project. Read list_scripts List all GDScript files in the project (or under a specific path). Read list_state_machine_states List all states in an AnimationNodeStateMachine. Read monitor_property Monitor a node property over time in the running game and return sampled values. Read read_resource Read properties of a Godot Resource file. Read read_script Read the source code of a GDScript file. Read read_shader Read the GLSL source of a shader file. Read search_files Search for files matching a pattern inside the project. Read tilemap_get_info Get information about a TileMap node (layers, cell size, used rect, etc.). Read tilemap_get_used_cells Get all used cell coordinates in a TileMap layer. Read validate_script Check a GDScript file for syntax/parse errors.

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Godot MCP Server

Can an AI agent delete data through the Godot MCP Server MCP server? +

Yes. The Godot MCP Server server exposes 8 destructive tools including batch_delete_nodes, delete_animation, delete_file. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Godot MCP Server? +

The Godot MCP Server server has 68 write tools including add_animation_track, add_audio_bus, add_audio_bus_effect. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Godot MCP Server.

How many tools does the Godot MCP Server MCP server expose? +

167 tools across 4 categories: Destructive, Execute, Read, Write. 66 are read-only. 101 can modify, create, or delete data.

How do I enforce a policy on Godot MCP Server? +

Register the Godot MCP Server MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Godot MCP Server tool call.

Deterministic rules across all 167 Godot MCP Server tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

167 Godot MCP Server tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.