Skip to main content
Glama

send_target_command

Send a shell command to an embedded target's UART console and return only the new response lines. Use it to run commands on a board and capture output without stale data.

Instructions

Send an interactive command string to the target console and collect ONLY new response lines.

Args: command: Shell command string to transmit to target UART (e.g. 'uname -a' or 'nvidia'). wait_timeout: Maximum seconds to wait before returning response (default: 5.0s hard ceiling). idle_threshold: Seconds of UART silence before considering output complete (default: 0.3s).

Input Schema

NameRequiredDescriptionDefault
commandYes
wait_timeoutNo
idle_thresholdNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It adds useful behavior context—only new response lines are returned, wait_timeout is a hard ceiling, and idle_threshold defines output completion—but it omits safety implications, side effects of sending commands to a UART, and what happens on timeout or error.

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 front-loaded with the core purpose and then provides a compact, well-structured Args section. Every sentence adds value without redundancy, making it easy to scan and parse.

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. However, for a command-sending tool with no annotations, the description lacks usage context (when to use vs siblings) and safety/error-handling details, leaving gaps that an agent might need to call it correctly in a real workflow.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate fully. It does: command is defined with examples ('uname -a', 'nvidia'), wait_timeout is described as maximum seconds to wait with a hard ceiling, and idle_threshold is explained as seconds of UART silence before output is considered complete, including defaults.

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 states a specific verb (Send) and resource (interactive command string to target console), and the phrase 'collect ONLY new response lines' distinguishes it from read_target_console, which likely reads existing output. However, it does not explicitly name or contrast with sibling tools, so it falls short of the top score.

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

Usage Guidelines2/5

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

The description explains what the tool does but provides no guidance on when to use it versus alternatives like read_target_console, run_custom_code, or wait_for_console_pattern. There are no exclusions or context cues to help an agent select the right tool.

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