Skip to main content
Glama

debugger_get

Read-only

Retrieve one cached debug session state using its session ID without contacting the debugger, so you can inspect prior debug data locally.

Instructions

Read one cached session state without contacting the debugger.

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": {
      "session_id": "<session_id>"
    },
    "name": "debugger_get"
  }
}

Input Schema

NameRequiredDescriptionDefault
session_idYes

Output Schema

NameRequiredDescriptionDefault
modeNo
phaseNocreated
statusNo
revisionNo
session_idYes
target_pidNo
capabilitiesNo
target_stateNounknown
adapter_process_idNo
inspection_generationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.1

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a genuine behavioral trait beyond that: the read targets a cache and does not touch the debugger. However, it says nothing about cache staleness, failure behavior for an unknown session_id, or whether the cached state may be out of date.

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?

A single front-loaded sentence with zero filler. The most load-bearing constraint, that it does not contact the debugger, is stated immediately.

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 not be described. Still, for a tool keyed entirely on a required session_id, the definition omits where that identifier comes from and how fresh the cached state may be — both material to correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% for the single required parameter, so the description carries the full burden and does not compensate: it never explains what a session_id refers to or how to obtain one. The self-describing name partially mitigates this, but that comes from the schema, not the description.

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 gives a specific verb ('Read') and resource ('one cached session state') and adds a distinguishing qualifier, 'without contacting the debugger,' which separates it from live debugger_* siblings like debugger_threads or debugger_scopes. It falls short of a 5 only because 'session state' is left undefined in scope or shape.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without contacting the debugger' implies the use case (cheap cached lookup versus a live query), but no sibling is named and no condition or alternative is stated explicitly. An agent must infer that debugger_sessions or a live query should be preferred when fresh state is required.

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