Skip to main content
Glama
brovk2008

STM32Cube-MCP

by brovk2008

stm32_run_gdb_script

Execute automated GDB commands against a target STM32 MCU to inspect registers, memory, and backtraces, enabling scripted debugging and control of remote debug sessions.

Instructions

Executes an automated GDB batch session against target MCU using arm-none-eabi-gdb.

Args: commands: List of GDB commands (e.g. ['monitor reset halt', 'info registers', 'bt']). elf_file: Optional path to compiled .elf file with debug symbols. remote_port: Port of active GDB server (connects to localhost:). timeout_sec: Maximum execution timeout in seconds.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
commandsYes
elf_fileNo
remote_portNo
timeout_secNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.6/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. It discloses execution mode, localhost connection, and timeout, but it does not disclose that arbitrary GDB commands can mutate target state, what happens on command failure, or session termination behavior. This is a material gap for a tool that executes arbitrary debugger commands.

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?

One purpose sentence plus four compact argument bullets. It is front-loaded with the core action, contains no filler, and every line adds information.

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?

All parameters are explained and an output schema exists, so return-value details are not required. However, with no annotations, the absence of explicit prerequisites and safety/failure behavior leaves the description adequate but not complete for safe autonomous use.

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%, and the description fully compensates: each parameter receives meaningful explanation, including an example for commands, the role of elf_file, the localhost meaning of remote_port, and units for timeout_sec. This goes well beyond the bare schema titles.

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 action and target: executes an automated GDB batch session against the target MCU via arm-none-eabi-gdb. It is clearly distinguishable from server lifecycle tools, but it does not explicitly contrast with siblings like stm32_start_gdb_server or stm32_flash_firmware.

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

Usage Guidelines3/5

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

The parameter note 'remote_port: Port of active GDB server' implies a prerequisite that a GDB server must already be running, and the overall purpose implies use for custom GDB command batches. However, it never explicitly says when to prefer this tool over dedicated siblings or gives when-not-to-use guidance.

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