Skip to main content
Glama
n1mm-mcp

n1mm-mcp

by qso-graph

N1Mm So2R

n1mm_so2r
Read-onlyIdempotent

Returns a two-radio SO2R snapshot from N1MM broadcasts, including each radio’s band, frequency, mode, run state, focus, transmit-time share, band minutes and QSO counts.

Instructions

Two-radio (SO2R) view: both radios now, and how they've been used.

Returns each radio's band, frequency, mode and run/transmit state, N1MM's transmit focus and receive focus, whether both radios are on the same band, each radio's share of N1MM-keyed transmit time (a paddle or PTT isn't reported by N1MM) and minutes per band, transmit- and receive-focus swaps, QSOs per radio, and QSOs made on one radio while the other was running. Timing covers the RadioInfo packets seen since the MCP server started (or the contest changed). Read from N1MM's broadcasts; no rig is read.

Input Schema

NameRequiredDescriptionDefault
station_nameNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.2

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds real value beyond them: data provenance (derived from N1MM broadcasts, not rig reads), the measurement window ('RadioInfo packets seen since the MCP server started (or the contest changed)'), and a disclosed blind spot (paddle/PTT transmit time is not reported). It stops short of describing failure behavior when N1MM is disconnected.

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 sentence is well front-loaded, but the body is one dense run-on enumerating every return field, which duplicates the existing output schema and bloats the definition. Several listed metrics could be compressed or left to the output schema.

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?

Since an output schema exists, the lengthy field enumeration is largely redundant, while the genuinely missing pieces — what station_name does, behavior when N1MM is not connected, and routing versus n1mm_current_state — go unaddressed. Adequate but with clear gaps for a complex multi-metric tool.

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?

The single parameter station_name is entirely undocumented in the schema (0% coverage) and never mentioned in the description, so an agent cannot tell whether it selects a station, filters a multi-station setup, or is purely cosmetic. With such low coverage the description needed to compensate and does not.

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?

Opening sentence names a specific resource and scope ('Two-radio (SO2R) view: both radios now, and how they've been used') plus a concrete field inventory (band, frequency, mode, run/transmit state, focus swaps, QSO counts). This is clearly distinguishable from single-radio siblings like n1mm_current_state or performance-oriented tools such as n1mm_performance.

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?

Usage is only implied: an agent can infer this applies when two radios are in play, and the closing clause 'Read from N1MM's broadcasts; no rig is read' hints at a prerequisite (N1MM must be running). But there is no explicit when-to-use/when-not statement and no named alternative (e.g., 'use n1mm_current_state for a single-radio snapshot').

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