Skip to main content
Glama

Signals

signal

Inspect and wire event connections in the edited scene, saving them and generating handler functions. List, connect, disconnect, or graph connections.

Instructions

Inspect and wire signals in the edited scene. Connections made here are saved in the scene. 'connect' can generate the handler function in the target's script.

Actions:

  • list: {path, connected_only?} signals of a node with their arguments and connections.

  • connect: {from, signal, to, method?, create_method?=true, body?, binds?, deferred?, one_shot?} e.g. Area2D body_entered -> Player. Method defaults to on_.

  • disconnect: {from, signal, to, method}

  • graph: {scope?: 'scene'|'project'} connection graph (project scope parses all scenes and scripts incl. .connect()/.emit() calls).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoReceiving node path.
bodyNoBody for a generated handler (GDScript, no indentation needed).
fromNoEmitting node path.
pathNoNode path relative to the scene root ('.' = root, 'Player/Sprite2D', '%Unique'), or a res:// file path, depending on the action.
sceneNores:// scene to operate on; opened in the editor if needed. Defaults to the currently edited scene.
scopeNo'scene' or 'project'.
actionYesWhat to do. See the tool description for each action's parameters.
methodNoHandler method name.
signalNoSignal name.

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 declare readOnlyHint=false and destructiveHint=false, but the description adds important behavioral context beyond them: connections are persisted in the scene, 'connect' can generate a handler function in the target's script, and project-scope graph parsing reads all scenes and scripts. It doesn't describe failure modes or return payloads, so not a 5.

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?

Front-loaded purpose sentence followed by a compact action list; every sentence carries information (scope, persistence, defaults, example). No filler or repetition.

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 9-parameter mutation tool with no output schema, the description covers action semantics, defaults, persistence, and cross-file parsing well. It omits what each action returns (e.g., list output shape, graph format) and any permission requirements, leaving a modest gap.

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 coverage is high, but the input schema only lists nine generic properties while the description documents action-specific parameters absent from the schema (connected_only, create_method, binds, deferred, one_shot) plus defaults like '_on_<from>_<signal>'. This goes meaningfully beyond the structured fields, though it doesn't explain each optional flag in depth.

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: 'Inspect and wire signals in the edited scene,' then enumerates four concrete actions (list, connect, disconnect, graph). It is clearly distinguishable from generic siblings like node or script, which don't deal with signal wiring.

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?

It establishes clear operating context: signals in the edited scene, connections saved in the scene, and defaults for each action (method name pattern, create_method=true). It does not explicitly route the agent away from sibling tools or state when-not to use it, 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.