Skip to main content
Glama

Godot project

project

Manage Godot configuration: settings, autoloads, input actions, layers, plugins; create new Godot games.

Instructions

Project-level info and settings of the connected Godot project: overview, project settings, autoloads (singletons), input map actions, physics/render layer names, plugins, UIDs. Also creates brand new projects.

Actions:

  • info: {} overview: name, Godot version, main scene, autoloads, input actions, file counts, open scenes, renderer.

  • get_setting: {name} read a project setting, e.g. 'display/window/size/viewport_width'.

  • list_settings: {prefix?, limit?} list settings under a prefix, e.g. 'physics/2d'.

  • set_setting: {name, value} or {settings: {name: value}} change project settings (saved to project.godot).

  • set_main_scene: {scene} set the scene that runs on Play.

  • autoloads: {} list autoload singletons.

  • add_autoload: {name, path} register a script/scene as a global singleton (e.g. an event bus or game state).

  • remove_autoload: {name} unregister an autoload singleton.

  • input_actions: {include_builtin?} list input actions and their bindings.

  • add_input_action: {name, events: ['key:W', 'key:Up', 'joy:a', 'joy_axis:left_x-', 'mouse:left'], deadzone?, append?} or {actions: {name: [events]}} create/replace input actions. Prefer actions over hardcoded keys in scripts.

  • remove_input_action: {name} delete an input action.

  • layers: {kind?} named layers (2d_physics, 3d_physics, 2d_render, ...).

  • set_layer_name: {kind, layer: 1-32, name} name a physics/render layer, returns its bit value for collision_layer/mask.

  • plugins: {} list add-ons in res://addons and whether they are enabled.

  • set_plugin_enabled: {name, enabled}

  • uid: {path} convert between res:// path and uid://.

  • create_project: {path, name, kind?: '2d'|'3d', renderer?: 'forward_plus'|'mobile'|'gl_compatibility', pixel_art?, width?, height?} create a new Godot project folder with Godot Forge installed, then connect to it (launches the editor).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoLayer kind, or '2d'/'3d' for create_project.
nameNoSetting/action/autoload/layer/plugin name, or project name for create_project.
pathNores:// path, or filesystem folder for create_project.
layerNoLayer number 1..32.
sceneNores:// scene path.
valueNo
actionYesWhat to do. See the tool description for each action's parameters.
eventsNoInput specs like 'key:Space', 'joy:a', 'mouse:left', 'joy_axis:left_y-'.
prefixNoSettings prefix.
actionsNo{action_name: [event specs]}.
enabledNoEnable/disable.
settingsNoSeveral settings at once.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and openWorldHint=false, so the agent knows this mutates local project state. The description adds real value beyond that: set_setting is 'saved to project.godot', create_project 'launches the editor', and set_layer_name 'returns its bit value'. It stops short of noting that remove_autoload/remove_input_action mutate the project file or that removal is not automatically reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is front-loaded with scope, and the action list is dense with no filler. It is long, but for a 17-action multiplexer nearly every line earns its place; only minor redundancy exists between the action lines and the generic parameter descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and 12 parameters spread across 17 actions, the description is the main contract, and it handles inputs well. Return values are only described incidentally (set_layer_name), so an agent gets no picture of what info, list_settings, or plugins return; for a tool this broad that is a real but modest gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 92%, but the generic schema describes fields abstractly ('Setting/action/autoload/layer/plugin name'), so the description carries the crucial mapping of which parameters each action consumes, plus concrete syntax examples ('key:W', 'joy_axis:left_x-', 'physics/2d', layer 1-32). This adds substantial meaning the schema alone does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (project-level info and settings of the connected Godot project) and enumerates the exact scope: settings, autoloads, input maps, layers, plugins, UIDs. This is clearly distinguishable from siblings like scene, node, script, or resource, which cover other Godot domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Each of the 17 actions is paired with its purpose and parameters, and there is explicit steering ('Prefer actions over hardcoded keys in scripts'), which tells the agent when to use add_input_action. However, there is no explicit when-not guidance or routing against sibling tools (e.g., when to use project vs editor or files for path handling).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.