Skip to main content
Glama

Script Manage

script_manage

Read, detach, or outline GDScript and C# files in a live Godot editor. Use it to inspect script source, remove a script from a node, or list symbols like functions, signals, and exports.

Instructions

Script (.gd / .cs) reading, detachment, and outline.

Resource form: godot://script/{path} — prefer for active-session reads.

Ops: • read(path) Read full source, line count, file size. • detach(path) Remove the currently attached script from a node. Undoable. • find_symbols(path) Outline a script. .gd: class_name, extends, functions, signals, @export vars. .cs: class, base type, methods, [Signal] delegates, [Export] members. Response language says which parser ran.

Language support: GDScript is the full contract. C# (.cs) is text-only — files are written, read and outlined, but Godot AI does not build .NET or report C# compiler errors; inspect the editor Build panel or dotnet build terminal output. logs_read does not capture .NET compiler output.

Canonical call shape: {"op": "<verb>", "params": {...}}. Flat op parameters are accepted as a compatibility alias when the client transmits them; op and session_id remain top-level.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
opYes
paramsNo
session_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.1.4
  2. Removedv3.0.7
  3. First observedv2.9.1

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states that detach is undoable, that C# support is text-only, that Godot AI does not build .NET or report C# compiler errors, and that the find_symbols response includes a 'language' field. This is strong transparency, though it does not cover all edge cases or failure modes.

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 organized with a summary, a bulleted operation list, a language-support section, and a call-shape note. It front-loads the key purpose and keeps each section scannable. There is some length due to necessary caveats, but no major redundancy.

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?

Given the tool's complexity and the presence of an output schema, the description covers the essential operational and contextual details: three ops, path format, language limitations, and call shape. It does not describe response values in depth, but the output schema exists to handle that. The only notable gap is lack of explicit comparison with script_patch/script_attach for routing decisions.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It does so by documenting each op's parameter (path), the resource form 'godot://script/{path}', and the canonical call shape with flat-parameter compatibility. It stops short of detailing the exact path type or the optional session_id parameter, but the core semantics are well covered.

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 scope: 'Script (.gd / .cs) reading, detachment, and outline.' It enumerates three specific operations (read, detach, find_symbols), each with a distinct verb and resource. This differentiates it from sibling tools like script_create, script_patch, and script_attach.

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 practical usage context, such as preferring the 'godot://script/{path}' resource form for active-session reads and clarifying that logs_read will not capture .NET compiler output. It also directs users to the editor Build panel or dotnet build for C# errors. It does not explicitly name sibling alternatives for script editing, so the guidance is clear but not exhaustive.

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