Skip to main content
Glama

read_available

Read unsolicited or buffered data from a serial device without sending commands, capturing streaming output like syslog or binary replies.

Instructions

Drain and return whatever the device has sent, without transmitting anything.

Use for unsolicited/streaming output (syslog on a console, GPS, a sensor, a rig in auto-info mode), or to grab a binary reply after send_hex. Waits up to read_timeout for the first bytes, then briefly settles so a full chunk is captured, then returns everything buffered.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
read_timeoutNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

There are no annotations, so the description carries the full burden. It discloses that the tool transmits nothing, waits up to read_timeout for the first bytes, briefly settles to capture a full chunk, and returns everything buffered. It does not specify edge-case behavior when no bytes arrive or whether the buffer is cleared, but the main behavioral profile is transparent.

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?

The description is three concise, front-loaded sentences with no filler. The action is stated first, followed by when to use it, then duration and return behavior. Every sentence contributes distinct value, and it remains compact and readable.

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?

The description covers what the tool does, when to use it, roughly how long it waits, and what it returns, and an output schema exists to describe the result shape. Remaining gaps are the unspecified timeout unit and lack of explicit behavior for an empty buffer after timeout, so it is mostly complete but not exhaustive enough for a perfect score.

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?

With 0% schema coverage, the description must compensate for the read_timeout parameter. It does add behavioral meaning by explaining that read_timeout bounds the wait for the first bytes, which goes beyond the schema's title and default value 1. However, it fails to state the unit (seconds versus milliseconds), leaving an important semantics gap for callers, so compensation is only partial at best.

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 opens with a clear verb-resource statement: 'Drain and return whatever the device has sent, without transmitting anything.' The use cases list concrete scenarios, distinguishing read_available from siblings such as send_hex, send_text, clear_buffer, and read_until_prompt. It clearly identifies what the tool does and how it is distinct from sibling operations.

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?

The description provides explicit use cases: unsolicited/streaming output such as syslog, GPS, sensors, rigs in auto-info mode, and binary replies after send_hex. It does not explicitly name when-not-to-use or compare against read_until_prompt as an alternative, so it stops short of full routing guidance, but the context is clear enough for an agent to make a sensible choice.

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