Skip to main content
Glama

Read a remote node's firmware version

get_node_version
Read-onlyIdempotent

Retrieve firmware version and build date from a remote repeater node. Equivalent to the admin <node> ver command, it provides firmware details without a home call.

Instructions

Read a remote repeater's firmware version + build date string. Equivalent to admin <node> ver. Required node — only repeater firmware implements the ver CLI verb. For the home node, use get_node_health() (the firmware field) — that's the structured equivalent via the companion protocol, no admin call needed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nodeYestarget node (contact name or hex public-key prefix); required (this command isn't implemented on companion firmware so it can't target home)
dryRunNopreview the intent without contacting the device

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
commandYes
tierYes
annotationsYesthe deterministic per-command risk hints this tier maps to; surfaced here (not as MCP tool-level annotations) because `admin` is one multiplexed tool
dryRunYes
viaNo
previewNo
replyNo
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint, idempotentHint. Description adds context: it's equivalent to a CLI command, only works on repeater firmware, and returns version+date. Does not contradict annotations.

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?

Three sentences, no wasted words. Front-loaded with purpose, then equivalence, then usage guidance. Ideal length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists (not shown but indicated), so return format is covered. Description adds what is returned (firmware version + build date string). With annotations and schema, the description is complete.

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 covers both parameters with descriptions. Description adds rationale: node is required because command isn't implemented on companion firmware, so can't target home. This adds meaning beyond schema.

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

Purpose5/5

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

The description clearly states it reads a remote repeater's firmware version and build date. It distinguishes from sibling get_node_health, which returns structured firmware info for the home node.

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

Usage Guidelines5/5

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

Explicitly states when to use: for remote repeaters (only repeater firmware implements the ver CLI). Explicitly states when not to use: for home node, use get_node_health() instead.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dpup/meshcore-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server