Skip to main content
Glama

stm32_list_probes

Lists connected ST-Link probes and boards, showing nicknames, MCU device names, UIDs, and serial numbers for debugging setup.

Instructions

Show all connected ST-Link probes and boards with nicknames.

Enumerates all connected ST-Link probes, reads MCU info from each, and enriches the output with board and probe nicknames from the persistent board map (~/.stm32-mcp/board_map.json).

Returns: Formatted list of connected boards and probes with nicknames, MCU device names, UIDs, and ST-Link serial numbers.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It helpfully reveals the hidden behavior of reading from a persistent board map file (~/.stm32-mcp/board_map.json) and that it actively queries each probe for MCU info — the latter implies possible interaction with a target (potentially halting or resetting it if connected), but the description never states whether this is safe on a running target or requires an idle board. It also never explicitly declares the operation read-only or side-effect-free.

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 lead sentence front-loads the core action, and the follow-up details the enumeration and enrichment logic. The 'Returns:' block is structured and readable, but since an output schema already exists, it somewhat duplicates structured data and lengthens the description unnecessarily.

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?

For a zero-parameter listing tool, the description covers what it does, how it gathers data, where nicknames come from, and what the output contains. An output schema exists, so the explicit Returns block is redundant but not harmful. The only real gap is the absence of any guidance about its relationship to stm32_board_info and whether querying each probe is safe mid-session.

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

Parameters4/5

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

The tool takes zero parameters, which is the baseline-4 case. Nothing about parameters needs explaining, and the description correctly presents this as an unconditional, no-argument operation.

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 opens with a specific verb and resource: "Show all connected ST-Link probes and boards with nicknames," then elaborates on enumeration, MCU info reads, and enrichment from the board map. The purpose is unambiguous. It does not, however, distinguish itself from the close sibling stm32_board_info, which presumably also reports board details, leaving the agent to guess which to call when both are available.

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 statement of when to use this tool versus stm32_board_info or the serial_list_ports sibling, and no prerequisites or exclusions are mentioned. The agent must infer usage entirely from the tool name and output description.

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