Skip to main content
Glama

debug_wait_halt

Blocks until the core halts after a breakpoint, then reports the halt location (PC/LR/SP/xPSR, function, source line) or timeout state.

Instructions

Block until the core halts (e.g. breakpoint hit), then report where.

Use after debug_resume when a breakpoint is armed. Returns the halt location (PC/LR/SP/xPSR with function and source line) or a timeout note.

Args: session_id: Session ID from debug_session_start. timeout_ms: Give up after this many milliseconds (default 5000).

Returns: Halt report, or timeout message with current state.

Input Schema

NameRequiredDescriptionDefault
session_idYes
timeout_msNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

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 and does well: it discloses the blocking nature, the default 5000 ms timeout, and the give-up behavior with current state. It does not state whether the target stays halted afterward or what the failure mode is when nothing halts.

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?

Front-loaded with the core behavior, then Args/Returns blocks that are easy to scan. The Returns section partly repeats the opening paragraph and restates what the output schema already provides, which is mild waste.

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 two-parameter blocking debug tool this is nearly complete: ordering, timeout, and expected output are all covered, and an output schema exists for return detail. The remaining gap is post-halt state (does the core remain halted?) and the no-breakpoint case.

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 0%, so the description must compensate, and it does: session_id is tied to its producer (debug_session_start) and timeout_ms is explained as a give-up budget with its default. It adds no format or range constraints beyond the default.

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 opening sentence gives a precise verb and effect: block until the core halts, then report where. It is clearly distinguishable from siblings such as debug_status (non-blocking) and debug_halt (which causes the halt rather than waiting for one).

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 states the triggering condition explicitly: "Use after debug_resume when a breakpoint is armed." That is a concrete ordering rule an agent can act on. It stops short of naming when-not to use it (e.g. instead of debug_status polling) or what happens if no breakpoint is armed.

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