Skip to main content
Glama

serial_send

Destructive

Write UTF-8 text to an attached COM1 serial console on a Hyper-V VM, appending CRLF by default to simplify console input.

Instructions

Write UTF-8 text to an attached COM1 serial console, with CRLF appended by default.

Input Schema

NameRequiredDescriptionDefault
textYes
vm_nameYes
append_newlineNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare non-read-only, non-idempotent and destructive, and the description adds genuine context by disclosing that CRLF is appended by default (explaining the append_newline default). However, it says nothing about the destructive implications of sending arbitrary text to a console (e.g. interrupting a bootloader or feeding input to a live shell), which is exactly what the destructiveHint warrants explaining.

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?

One front-loaded sentence with zero filler; the format and default behavior are stated up front. It is efficient, though brevity here edges toward under-specification for a destructive write tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/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. But for a destructive, non-idempotent three-parameter mutation with 0% schema coverage, the description omits prerequisites (connection state), the meaning of vm_name, and any warning about the effect of injecting text into a live console.

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 compensate. It clarifies 'text' as UTF-8 and confirms the append_newline default of CRLF, but 'vm_name' is never explained — notably whether the VM must already have an attached serial connection.

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?

States a specific verb (write), the payload format (UTF-8 text) and the exact target (attached COM1 serial console), which is enough to separate it from serial_read and serial_connect. It does not explicitly distinguish itself from console_type_text, which writes text via the VM keyboard, so sibling differentiation is only partial.

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?

There is no when/when-not guidance: nothing says a connection must first be established (serial_connect exists as a sibling) or when to prefer this over console_type_text. The only implied usage comes from the phrase 'attached COM1 serial console', which an agent must infer.

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