Skip to main content
Glama

qemu_serial_send

Destructive

Write text directly to a QEMU guest's serial console (COM1) to interact with serial-only shells or debug consoles; include "\n" yourself to send Enter.

Instructions

Write text to the guest's serial console (COM1).

For guests that only expose a shell over serial (no VGA console, or a kernel with a serial-only debug shell) - the bidirectional counterpart to qemu_serial's read-only tail. Sent exactly as given; include "\n" yourself for Enter. Kept on one persistent connection for the VM's lifetime - disconnecting and reconnecting would hang up the serial line. If the connection drops (e.g. the guest is mid-reboot) this reconnects once automatically; if that also fails, raises with a message saying so

  • retry the call once the guest's serial socket is back up.

Input Schema

NameRequiredDescriptionDefault
nameYes
textYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare that this is a non-idempotent, destructive write; the description adds substantially more: input is sent verbatim, the caller must supply "\n" for Enter, a single persistent connection is held for the VM's lifetime, reconnection happens once automatically, and failure raises with a retry-once-the-socket-is-back instruction. That is exactly the operational context an agent needs before invoking a destructive console write.

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 purpose and the discriminating condition are front-loaded in the first two sentences, and the reconnection/error guidance is grouped at the end where it belongs. The second paragraph is slightly meandering, but every sentence carries real operational information rather than filler.

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?

Because an output schema exists, return values do not need explaining, and the description covers the behaviors that matter for a stateful serial write: verbatim transmission, line-persistence, single auto-reconnect, and failure semantics. The only real gap is the unexplained name parameter and nothing about size/throughput limits.

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 0%, so the description must supply meaning. It does explain the text parameter well (sent exactly as given, newline required) but never clarifies what the required name parameter refers to — presumably the VM identifier, but the agent must infer it. Partial compensation for a two-parameter schema with no field documentation.

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 first sentence states a precise verb and resource: write text to the guest's serial console (COM1). It explicitly positions itself as the bidirectional counterpart to the read-only qemu_serial sibling, so an agent can separate the two without consulting either schema.

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?

It names the qualifying condition for use — guests that expose a shell only over serial, with no VGA console or a serial-only debug shell — and points at qemu_serial for the read-only case. It stops short of contrasting with qemu_type/qemu_key, which is the other plausible alternative for delivering input, so the routing guidance is clear but not exhaustive.

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