Skip to main content
Glama

cli

Execute CubeMX commands verbatim in the project engine and return OK/KO output, with optional save.

Instructions

Run any CubeMX CLI command verbatim in the project engine and return its output (OK/KO plus payload). Covers the entire command language: get/set/reset/lock/check/csv/generate/project/config/pinout/switch/unset/export/import/NVIC/dma/pack/swmgr/clock/... Optionally save afterwards.

Input Schema

NameRequiredDescriptionDefault
saveNoPersist the .ioc after the command
commandYesExact CLI line, e.g. `get mapped modes .*`
timeoutNoSeconds
project_idYesProject id
allow_unsafeNoPermit commands outside the safe list

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It discloses that output is OK/KO plus payload and that save persists the .ioc, but it does not explain the safe-list restriction, mutation risks, permission needs, or side effects of arbitrary commands.

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 description is front-loaded and wastes little space: the first sentence states purpose and return shape, and the second lists scope and optional save. The long command-family list is somewhat verbose but supports the 'entire command language' claim.

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?

This is a complex, unrestricted command runner with no annotations and no output schema. The description gives return format and optional save behavior, but it omits the safe-list default, the meaning of allow_unsafe, side-effect warnings, and when to prefer dedicated tools.

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 100%, so all five parameters are already documented in the schema. The description adds only that save is optional afterwards, which largely repeats the save parameter's schema meaning, so baseline 3 is appropriate.

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 states a specific verb and resource: run a CubeMX CLI command verbatim in the project engine and return output. It clearly positions the tool as a generic command runner, though it does not explicitly differentiate itself from the many dedicated sibling tools.

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?

The description says it covers the entire command language, but gives no guidance on when to use this generic CLI instead of specific siblings like pin_set, clock_set, project_get, or cli_batch. There are no exclusions or conditions for preferring this tool over alternatives.

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

Deploy Server

Other Tools