Skip to main content
Glama
beckettlab

Beckett — MCP for Godot

by beckettlab

play_scene

Play a scene in Godot's editor and have property writes (camera pose, debug flags) applied automatically at game connect, so you don't reapply them after each restart.

Instructions

Play a scene in the editor. 'scene' (res://) plays a specific scene; current=true plays the open scene; otherwise the project's main scene. Then wait_until condition=play_started, and logs_read for errors. on_ready=[{path|class|name, property, value}, ...] queues runtime writes that are applied automatically the moment the new game connects — the restart boundary batch_execute cannot cross. Use it to restore camera pose, debug flags or spawn state in ONE call instead of re-issuing them after every restart; wait_until condition=game_connected then reports whether each one landed. Writes whose target is still spawning are retried for a few seconds, then reported as failures rather than dropped.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sceneNores:// path; omit for main/current
currentNo
on_readyNoproperty writes applied once the game connects: [{path, property, value}, ...] (path may be a name/class selector, same as runtime_set_property)
Behavior4/5

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

Annotations only state readOnlyHint=false and destructiveHint=false. The description fills in important behavioral details: it waits for play_started, uses logs_read for errors, retries on_ready writes, and reports failures rather than silently dropping. It doesn't explicitly warn about interrupting an existing play session, but this is minor given the context.

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 description is longer than average but each sentence earns its place: scene selection, wait/error behavior, on_ready purpose and persistence, retry/reporting. It is dense but not redundant, and front-loads the core action in the first sentence.

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

Completeness5/5

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

No output schema is present, so the description must explain return/result behavior. It does so by noting the wait_until condition, error logging, and how on_ready write successes/failures are reported. It also covers the 'why' (restore state across restarts) making it self-sufficient for an agent.

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 covers scene and on_ready with descriptions, but current has none. The description explains current=true means open scene and omitting scene runs main/current. It also clarifies on_ready structure (path may be name/class selector, same as runtime_set_property) and the retry semantics, adding meaning beyond the schema.

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 clearly states the tool's function: 'Play a scene in the editor.' It specifies three modes (specific scene, current scene, main scene) and distinguishes the tool from sibling tools like stop_scene and get_play_state by focusing on starting playback.

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

Usage Guidelines5/5

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

Provides explicit usage context by explaining how on_ready differs from batch_execute, noting the restart boundary that batch_execute cannot cross. This tells the agent when to prefer this tool or its on_ready feature over alternatives. Also explains scene selection rules (omit for main/current, current=true for open scene).

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/beckettlab/beckett-godot-mcp'

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