Skip to main content
Glama

Start or stop a game session that stays up

godot_session

Load a Godot scene once and keep it running paused at frame 0, so the game can be inspected and stepped frame by frame without reloading a large world on every call.

Instructions

Load a scene in Godot 4.7 headless once and keep it running between calls, paused at frame 0, so godot_game can look at the live game and move it frame by frame without loading the world again (a big world can take a minute to load; godot_play loads it on every call). op start (scene: default the main scene; restart: true loads it again), status, or stop. Only this machine can reach it (a loopback port with a token), the project is not changed (the script lives in .godot/godotwright/), and the game quits by itself after idle_minutes without a request (default 15). Stop it when you are done.

Input Schema

NameRequiredDescriptionDefault
opYesstart, status or stop
pathNoThe project folder, or any file or folder inside it (Godotwright walks up to project.godot). Relative paths start at the server's folder. Default: the current project.
sceneNothe res:// scene to load (default: the main scene)
restartNostop a running session and load the scene again
idle_minutesNoquit after this many minutes without a request (default 15)
timeout_secondsNohow long the scene may take to load (default 300)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.2

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behavior: the session persists between calls, is paused at frame 0, is reachable only via a loopback port with a token, does not modify the project, stores its script under .godot/godotwright/, and auto-quits after idle_minutes. These details materially affect how and when an agent should use the tool.

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

Conciseness5/5

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

The description is front-loaded with the core purpose and then covers operation modes, sibling comparison, security, and cleanup. It is dense but every sentence carries useful information, with no obvious filler.

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?

For a complex lifecycle tool with no output schema, the description covers the important context: persistence, security, project isolation, idle shutdown, and operation modes. It does not describe what the `status` operation returns, which leaves a small gap for an agent invoking that op.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents op, path, scene, restart, idle_minutes, and timeout_seconds. The description repeats defaults for scene, restart, and idle_minutes but adds little semantic detail beyond the schema, and it does not mention path or timeout_seconds at all.

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 states a specific verb and resource: load a Godot scene headless and keep the session running between calls, paused at frame 0. It explicitly distinguishes this from godot_play, which reloads the world on every call, so an agent can tell the two apart without opening schemas.

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?

The description gives a clear use case: use this when godot_game needs a live game to inspect and step frame by frame, especially when loading is slow. It names godot_play as the reload-every-call alternative and says to stop the session when done, though it does not explicitly state when not to use it.

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