Skip to main content
Glama

firmware_get_version

Read and parse the firmware version from the config.h header or active configuration. Provide optional config paths or board ID to retrieve the version from the correct source.

Instructions

Read and parse firmware version from APP/config/config.h or active configuration.

Args: config_h_path: Optional explicit path to config.h header file. config_path: Optional firmware release configuration file path. board_id: Optional board identifier.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
board_idNo
config_pathNo
config_h_pathNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does convey that this is a non-mutating read-and-parse operation with two possible sources. However, it does not disclose source precedence when multiple args are supplied, what 'active configuration' means, or behavior on missing or ambiguous configuration.

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 short and front-loaded, with the main action stated before an Args list. It is not bloated, though the Args lines add only marginal value over the schema.

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?

An output schema exists, so return shape is covered, but the tool has three optional inputs, no annotations, and no defined fallback or precedence rules. The description is not complete enough for reliable invocation when config_h_path, config_path, board_id, and the active configuration interact.

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

Parameters2/5

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

Schema description coverage is 0%, so the Args section is the only semantic help, and it mostly restates the parameter names with minimal qualifiers. It does not explain how the parameters interact, when each is needed, or how they affect the choice between config.h and active configuration.

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 uses a specific verb and resource: 'Read and parse firmware version from APP/config/config.h or active configuration.' This clearly separates it from siblings like firmware_build or firmware_get_config. It loses the top score only because 'active configuration' is undefined and no sibling is named.

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 on when to use this tool versus alternatives such as firmware_get_config or board_status, and no exclusions or prerequisites. The intended context is only implied by the read/parse wording, so an agent cannot reliably decide between it and related firmware tools.

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