Skip to main content
Glama

debug_variables

Expands a debugger variablesReference to inspect locals, globals, objects, lists, or dicts during debugging sessions.

Instructions

Expand a debugger variablesReference to inspect locals, globals, objects, lists, or dicts.

Input Schema

NameRequiredDescriptionDefault
countNo
startNo
sessionIdYes
variablesReferenceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.2

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden yet never states that this is a read-only inspection operation, or what happens on an invalid/expired reference. The presence of start/count hints at pagination or truncation of large collections, but the description says nothing about result limits, and it does not mention that expansion may be shallow and produce further nested references.

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?

A single front-loaded sentence with no filler, and the key object of the operation comes early. It is efficient but so terse that the brevity costs information rather than reflecting it.

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

Completeness2/5

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

No annotations, no output schema, and 0% schema coverage on four parameters means the description is the only documentation, and it omits return shape, paging behavior, session binding, and error cases. For a debugger inspection tool that returns arbitrary nested data structures, this leaves material gaps.

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 4 parameters, so the description must compensate. It clarifies variablesReference only obliquely ('a debugger variablesReference') and says nothing about sessionId, start, or count, leaving the paging semantics of collections entirely 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?

Uses a specific verb ('Expand') on a specific resource ('variablesReference') and enumerates what the expansion yields (locals, globals, objects, lists, dicts), which separates it from debug_evaluate and debug_scopes. It does not say where the variablesReference originates, so the sibling relationship is only partly disambiguated.

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?

Usage is only implied: an agent can infer it should call this after obtaining a variablesReference from a stack/scope call, but no sibling is named and there are no exclusions or preconditions stated. There is no guidance on when to prefer this over debug_evaluate or debug_scopes.

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