Skip to main content
Glama

porting

Transfers an STM32CubeMX configuration from one MCU to another by importing .ioc files, running and logging import attempts, applying compatibility rules, and patching database entries when needed.

Instructions

Port a configuration onto another MCU / manage the import engine: try_auto (import another .ioc into the current MCU), try/try_and_log, report, compatibility rules, import options and logs, and the MCUs-DB hack mode used to patch database entries.

Input Schema

NameRequiredDescriptionDefault
dmaNoDMA controller for channel_constraint
iocNoSource .ioc for open_ioc / ip_config / try_auto
pinNoPin name for gpio_constraint / hack_db
valueNoOption value / hack_db signal
actionYesImport action
optionNoManual import option name
reportNoReport/log file name
signalNoSignal name for gpio_constraint / hack_db
channelNoChannel for channel_constraint
requestNoRequest for channel_constraint
timeoutNoSeconds to wait for the import
rule_typeNoRule type (see CubeMX import rules)
peripheralNoPeripheral for channel_constraint
project_idYesProject id
rule_valueNoRule value
dest_periphNoDestination peripheral for add_rule
source_periphNoSource peripheral for add_rule

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations at all, the description carries the full burden of behavioral disclosure, and it discloses little. It does flag hack_db as a "hack mode used to patch database entries," which usefully signals an unusual/risky write path, but nothing says whether imports are destructive to the current MCU config, whether hack_db changes persist in the database, what the 300s timeout does on expiry, or what a report contains. For a multi-action mutation tool with zero annotation coverage this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first clause, which is good, but the rest is a single run-on sentence cramming a partial action inventory, mixing covered and uncovered actions without structure. It is dense rather than wasteful, yet a bulleted action list would have been both shorter and clearer.

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?

Seventeen parameters across eleven actions, no annotations and no output schema mean the description should map actions to the parameters they require (e.g. that hack_db needs pin/signal/value, channel_constraint needs peripheral/channel/request). It does none of that, and it leaves four actions undocumented, so an agent cannot reliably construct a call from the description plus one-line schema hints alone.

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% and each parameter's description already names the action(s) it belongs to ("Pin name for gpio_constraint / hack_db", "Source .ioc for open_ioc / ip_config / try_auto"), so the schema does the heavy lifting and the baseline is 3. The description adds only marginal mapping detail (the meaning of the .ioc for try_auto).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a coherent-ish high-level goal ("Port a configuration onto another MCU / manage the import engine") and then enumerates the actions it covers: try_auto, try/try_and_log, report, rules, options, logs, hack_db. But it is a grab-bag of an 11-action tool, omits open_ioc, ip_config, gpio_constraint and channel_constraint entirely, and never distinguishes itself from the very similar-looking siblings project_import_config and ioc_import. The agent knows roughly what the tool is for, but not its full scope or its boundary.

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-to-use guidance, no when-not-to-use, and no named alternative — a real problem given sibling tools project_import_config and ioc_import that plausibly do overlapping work. The parentheticals (e.g. "try_auto (import another .ioc into the current MCU)") hint at per-action behavior but never state prerequisites (must a project be open? must open_ioc run before try?) or which action to choose first.

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