Skip to main content
Glama

scene_validate

Read-only

Check a Godot scene for silent errors such as broken connections, missing nodes, and invalid signals that the engine won't report.

Instructions

Check a scene for what Godot gets silently wrong when it loads or runs it. Errors: connections to handlers or nodes that do not exist, signals the source does not have, handlers taking the wrong number of arguments, unknown node types, scripts whose base type does not fit the node, missing parents, duplicate names and duplicate unique names, and changes to nodes that do not exist in an instanced scene. Warnings: unknown properties, values of the wrong type, and NodePaths to nodes not in the scene. Returns: per-scene problems with kind, severity and detail; valid means no errors. WHEN TO CALL: after editing a .tscn, or after renaming or removing a signal handler in GDScript. Godot accepts all of these with no error or only a console warning. Facts come from the engine; handler existence from the LSP's parse of the attached script.

Input Schema

NameRequiredDescriptionDefault
filesYesScene paths, res:// or filesystem

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=true, openWorldHint=false), so the bar is lower. The description still adds substantial context: the error/warning taxonomy, that Godot silently accepts these, and the provenance of facts (engine vs LSP parse of the attached script). It does not cover rate limits or failure modes, hence a 4.

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?

Long but front-loaded: the purpose and the error/warning inventory come first, and the call trigger is a clearly labeled trailing section. The taxonomy earns its length because it tells the agent what output to expect, though it borders on enumerating the schema-free output.

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?

With no output schema, the description compensates by describing the return shape ('per-scene problems with kind, severity and detail; valid means no errors'). Combined with the error/warning listing and call triggers, an agent has everything needed to invoke and interpret it.

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 coverage is 100% and the single 'files' parameter (res:// or filesystem paths) is already documented in the schema. The description adds nothing about path format, collection behavior, or multi-file semantics, so the baseline 3 is appropriate.

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?

States a specific verb+resource ('Check a scene') and then enumerates exactly what classes of problems it detects, which no sibling covers (project_validate and gdscript_validate target different artifacts). An agent can distinguish this from gdscript_validate without opening either schema.

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 'WHEN TO CALL' section gives explicit triggers: after editing a .tscn, or after renaming/removing a signal handler in GDScript. It does not name alternatives (project_validate, gdscript_validate) or exclusions, so it stops short of a 5.

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