Skip to main content
Glama

Wait for Terminal Output

terminal_wait
Read-only

Waits for newer terminal output after a known cursor in an active session so agents can monitor live serial or SSH activity without repeated snapshot reads.

Instructions

Wait only for terminal output bytes after a known cursor; use terminal_read without cursor for an immediate snapshot. This does not return file-transfer status; use terminal_wait_file_transfer for transfer completion or cancellation.

Input Schema

NameRequiredDescriptionDefault
cursorYesOptional next output cursor; when set, wait for newer output.
encodingNoOutput representation: utf8, hex, or base64.
max_bytesNoMaximum number of output bytes to return.
session_idYesActive Session ID or short reference.
timeout_msNoOptional wait timeout in milliseconds when cursor is supplied; maximum 86400000.

Output Schema

NameRequiredDescriptionDefault
dataYes
nextYes
droppedYes
encodingYes
bytes_readYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.2

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds important behavioral context: this is a cursor-based wait for terminal output, not an immediate snapshot, and it does not cover file-transfer completion or cancellation. It does not discuss timeout or blocking behavior in depth, but that is largely covered by the schema.

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?

Two sentences, front-loaded with the core action and immediately followed by the sibling exclusions. Every clause earns its place by preventing a likely misuse.

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?

Given full schema descriptions, annotations, and an output schema, the description supplies the key routing and behavioral context an agent needs. The only minor gap is deeper timeout/wait semantics, but those are bounded by the schema and 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 100%, so cursor, timeout_ms, max_bytes, encoding, and session_id are already documented. The description reinforces the meaning of cursor as a known position for waiting, but adds no syntax, defaults, or constraints beyond the schema.

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

Purpose5/5

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

The description names a precise action ('wait only for terminal output bytes after a known cursor') and explicitly distinguishes it from terminal_read and terminal_wait_file_transfer. An agent can identify the tool's exact scope without opening the schema.

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

Usage Guidelines5/5

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

It states when to use this tool versus terminal_read ('use terminal_read without cursor for an immediate snapshot') and explicitly excludes file-transfer waiting in favor of terminal_wait_file_transfer. The alternatives and selection conditions are clear.

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