Skip to main content
Glama
brovk2008

STM32Cube-MCP

by brovk2008

stm32_write_serial

Send data or AT commands to an STM32 MCU over a serial port, with configurable baud rate and automatic CRLF newline.

Instructions

Sends data or AT/terminal commands to target MCU over serial port.

Args: port: Port name (e.g. 'COM3' or '/dev/ttyUSB0'). data: String to send. baudrate: Baud rate (default: 115200). append_newline: If True, appends CRLF (\r\n).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
portYes
baudrateNo
append_newlineNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It does reveal that append_newline appends CRLF and that data can be AT/terminal commands, but it does not say whether the tool opens/closes the port, waits for a response, buffers output, or how errors are handled. For a serial write operation this leaves meaningful behavioral unknowns.

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 efficiently structured: one action sentence followed by four compact parameter bullets. It is front-loaded with the tool's purpose, and every line adds information without redundancy or filler.

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?

For a simple serial write, the essential invocation details are present: required parameters and defaults are clear, and an output schema exists to document return values. However, the lack of behavioral detail about response handling and the absence of any routing guidance relative to sibling tools makes it only minimally complete for an autonomous agent.

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%, but the Args list compensates fully by explaining all four parameters: port with concrete examples, data as the string to send, baudrate with its default value, and append_newline with its functional effect of appending CRLF. This is exactly the semantic enrichment the description needs to provide.

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 opening sentence uses a specific verb ('Sends') and names the resource ('data or AT/terminal commands to target MCU over serial port'), making the tool's core function clear. It also signals the write direction versus the sibling read tool, though it does not explicitly name stm32_read_serial or contrast itself with other write tools like stm32_write_memory.

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 guidance about when to use this tool instead of stm32_read_serial or other serial-related tools. It also omits prerequisites such as selecting a port via stm32_list_serial_ports or ensuring the MCU is connected, leaving the usage context entirely implicit.

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