Skip to main content
Glama
uni-t-uts-mcp

uni-t-uts-mcp

by Reid-n0rc

read_measurement

Read-only

Retrieve active spectrum-analyzer measurement results, including channel power, OBW, ACPR, C/N, TOI, harmonics, or time power; run and wait or fetch the latest result.

Instructions

Read the result of the active measurement. READ (default) runs the measurement and waits for it; fetch=true returns the latest result at once. channel_power gives channel power (dBm) and density (dBm/Hz), time_power gives power (dBm), obw gives occupied bandwidth (Hz), frequency error (Hz), x dB bandwidth (Hz) and total power (dBm), acpr gives main, lower and upper channel power (dBm) and lower/upper relative power (dBc), cn gives carrier and noise power (dBm) and C/N (dB), toi gives the lower and upper third-order products and tones and the intercept, harmonics gives the fundamental, harmonics 2..n (dBc) and distortion (THD). Errors when that measurement is not active; it never changes the mode.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "measurement": "<measurement>"
    },
    "name": "read_measurement"
  }
}

Input Schema

NameRequiredDescriptionDefault
fetchNoReturn the latest result without starting a measurement
timeout_sNoSeconds to wait for the result (default 30, 1-600); READ waits for the measurement, including its averages
instrumentNoWhich instrument to use (a name from list_instruments). Default: the `default` instrument, or the only one configured
measurementYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations only supply readOnlyHint=true, and the description meaningfully extends that: blocking vs non-blocking behavior, that averages are included in the wait, that it errors on an inactive measurement, and that it does not alter the mode. That resolves the otherwise confusing point of a read-only tool that triggers a measurement. Missing only details on what happens on timeout.

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?

Front-loaded with the operating mode and the blocking/fetch distinction, then the per-measurement outputs. The long enumeration sentence is dense and would scan better as a list, but every clause carries information an agent needs to interpret the returned fields.

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

Completeness4/5

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

There is no output schema, so the description carries the burden of describing return values, and it does so per measurement mode with units. Combined with the error condition and the mode-immutability guarantee, an agent has enough to call and interpret it; only timeout behavior is left implicit.

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

Parameters4/5

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

Schema coverage is 75%, so timeout_s and instrument are already documented. The description earns credit by enumerating what each of the seven measurement enum values actually returns (units and quantity lists for channel_power, obw, acpr, cn, toi, harmonics), which the bare enum in the schema does not convey. It also restates the fetch semantics from the schema, which is redundant but harmless.

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?

States a specific verb and resource: "Read the result of the active measurement," and immediately qualifies the two modes (READ running the measurement vs fetch=true). It does not name the sibling get_measurement or explicitly contrast with it, so a reader must infer the distinction from the READ/fetch sentence rather than being routed by name.

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

Usage Guidelines4/5

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

Gives clear operative guidance: default READ blocks and waits for the measurement including averages, while fetch=true returns the latest result at once. It also states a prerequisite failure mode ("Errors when that measurement is not active") and a scope limit ("never changes the mode"), which tells the agent when the call is valid. No named alternative tool is offered for the case where the measurement isn't active.

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