Skip to main content
Glama

debug_registers

Read CPU registers from a halted debug target, optionally including all extra registers and decoded flag values for inspection.

Instructions

Read registers. Target must be halted.

registers is a comma-separated list (e.g. "eip,esp,cr2,cr3"); default is the general set from the stub's g packet. all=True also reads every extra register the target describes (control registers, segment bases, FPU/SSE...). Flag registers (eflags, cr0, cr4...) are decoded.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>"
    },
    "name": "debug_registers"
  }
}

Input Schema

NameRequiredDescriptionDefault
allNo
nameYes
registersNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations present, the description carries the full burden, and it does disclose several useful traits: the halt requirement, the default set, that extras are included only with all=True, and that flag registers are decoded. However, it does not state what happens if the target is not halted (error vs. implicit halt) or confirm that the call is a side-effect-free read, leaving meaningful behavioral gaps for an unannotated tool.

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 definition is front-loaded with the essential fact (read registers, halted target) and then layers parameter detail efficiently with an inline example. The multi-line formatting with the unbalanced quote is slightly untidy, but every sentence adds information and nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the registers/all semantics are covered well. What remains missing is the meaning of the required `name` parameter and the failure behavior when the target is not halted — notable gaps for a 3-parameter tool with zero schema description coverage and no annotations.

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 description coverage is 0%, so the description must compensate, and it does clarify `registers` (comma-separated, with an example like "eip,esp,cr2,cr3", defaulting to the stub's general set) and `all` (also reads extras such as control registers, segment bases, FPU/SSE). The required `name` parameter is never explained — likely the target/session identifier — so one of three parameters remains undocumented.

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 description opens with a specific verb+resource ('Read registers') and immediately qualifies it with a precondition ('Target must be halted'), so an agent knows exactly what operation this performs. It does not name or distinguish itself from siblings such as debug_set_register, but the read/observe nature is unambiguous from the text.

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 provides clear operational context: the target must be halted, the default behavior is the general register set from the stub's g packet, and all=True is the trigger for reading extra registers. It stops short of explicit when-not or alternative-tool guidance, which is why it is not a 5.

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