Skip to main content
Glama

step_out

Steps out of the current function and briefly waits for execution to stop; if the step is still running after ~5s, returns a pending status for waiting until it pauses.

Instructions

Step out of the current function. Waits briefly for the program to stop; if the step is still executing after ~5s (e.g. the rest of the function is long-running), returns success with state "running" and pending:true — the session becomes "paused" when the step completes (call wait_for_stop to block until then)

Input Schema

NameRequiredDescriptionDefault
sessionIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/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 delivers real behavioral detail: a ~5s wait, a success response with state "running" and pending:true, and the eventual transition to "paused" when the step finishes. It omits error behavior (no active session, not stopped, invalid frame) and any permission/session-state prerequisites.

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 action is front-loaded in the first sentence, and the remaining clauses cover timeout behavior and the follow-up tool with no filler. The nested em-dashes and parentheticals make it dense and slightly harder to scan than necessary.

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?

Return-state semantics are well covered despite the absence of an output schema, which is a meaningful strength. However, for a code-execution mutation with no annotations and no documented parameter, missing prerequisites (session must exist and be paused) and failure modes leave gaps an agent would need at call time.

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% — sessionId is a bare string with no documented meaning — and the description never mentions the parameter at all. The agent must infer that sessionId identifies the debug session to step, which is plausible but unstated.

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?

Opens with a specific verb+resource: "Step out of the current function," which is inherently distinct from step_over/step_into/continue_execution siblings. It never explicitly contrasts itself with those siblings, so the agent must rely on debugger knowledge to confirm the distinction.

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?

Gives concrete context for use (stepping out of a possibly long-running function body) and names the alternative for blocking behavior — "call wait_for_stop to block until then." It does not state preconditions such as requiring the session be paused in a frame, nor when to prefer step_over/step_into.

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