Skip to main content
Glama

reset_target

Destructive

Resets an STM32 target for GDB debugging and optionally halts immediately; choose cold power-cycle for a true POR when a mapped hub channel exists.

Instructions

Resets the target device. Can optionally halt immediately after reset. strategy="cold" removes target power through a configured programmable USB hub before resetting, which is the only strategy that produces a true power-on reset (RCC_CSR POR flag, cleared .noinit, drained RAM); it fails rather than silently doing a warm reset when no hub channel is mapped. It needs no confirm argument -- asking for a cold reset by name IS the confirmation the hub guard wants -- and it stops the GDB session before the cut, then re-establishes it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
haltYesIf true, halts the CPU immediately after reset.
commandNoOptional custom GDB monitor reset command.
sessionNoOptional debug-session name. Omit for the default target.
strategyNoOptional reset strategy: default, under_reset, software, or cold (hub power cycle). "software" issues soft_reset_halt, which resets through the debug unit WITHOUT asserting SYSRESETREQ -- so RCC_CSR does not record it and its sticky reset flags do not move; use "default" when the reset must be visible there, e.g. when proving a cold boot by watching a sticky flag disappear. "under_reset" is currently an alias of "default". The result's `note` says which of these applied to the call you actually made.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.15.1

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=false, and the description goes well beyond them by disclosing that cold reset cuts power via a programmable hub, clears .noinit and RAM, stops the GDB session and then re-establishes it, and fails closed when no hub channel is mapped. The confirm-argument explanation (naming cold IS the confirmation the hub guard wants) is non-obvious behavioral context an agent could not derive from structured fields.

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?

Purpose and optional halt are front-loaded in the first sentence, and the remaining content is dense with useful detail rather than filler. The second sentence is a long em-dash-and-parenthetical chain that is harder to parse than it needs to be, which costs it the top mark.

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?

With no output schema, the description carries the return-value burden, and it partially meets it by hinting at failure behavior for cold reset. It is well covered for the cold path but says little about what a plain or software reset leaves behind on the target, which is the main remaining gap for a destructive mutation tool.

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 100%, so the baseline is 3; the description nonetheless adds real meaning by explaining the semantics and preconditions of strategy="cold" and its distinct failure mode versus the other strategies. It stops short of covering the halt, command, or session parameters, so it does not fully round out parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb+resource ("Resets the target device") plus an optional behavior (halt after reset), so the action is unambiguous. However, it never differentiates itself from potentially confusable siblings such as recover_session, stop_debug_session, or halt_execution, leaving that discrimination to inference.

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?

Substantive guidance is given for the cold strategy: when it is required (true power-on reset), what it guarantees (RCC_CSR POR flag, cleared .noinit, drained RAM), and how it fails (refuses rather than silently doing a warm reset with no hub channel). What is missing is any statement of when not to use the tool at all, or which alternative to pick for a simpler warm reset.

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