Skip to main content
Glama
FASTMEAN MCP

FASTMEAN MCP

by maxewka

fastmean_plot

Plot registered AC, transient, FFT, or NumPy spectrum data with selectable panels, metrics, and time/frequency windows, returning PNG/SVG plots and measurements.

Instructions

Plot registered AC, transient, native FFT or NumPy spectrum data through MCP.

panels selects 1–12 exact exported columns. A panel is {signal, label?, unit?, scale?:1, metrics?:[rms], guides?:[], color?:'#2563eb'}. Metrics are rms/mean/peak/min/max/peak_to_peak; guides are mean/rms and include that measurement. Frequency panels have metrics=[]; time-weighted metrics require TD. unit is a caller-supplied display label; display_value=native_value*scale with finite positive scale. No new formulas are evaluated. For native power, export e.g. U(OUT)*I(RL) during transient and select that exact column here. Windows are [start,stop] in original seconds/Hz, independently of x_unit. Interpolate exact endpoints, retain adaptive timestamps and both states of equal-time switching events in native order, and reject extrapolation. RMS uses trapezoids of squared samples. Metrics use the full measurement window before graphical decimation. Original run stays intact; a new run returns ImageContent, PNG/SVG/spec/measurements/manifest resources.

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": {
      "run_id": "<run_id>"
    },
    "name": "fastmean_plot"
  }
}

Input Schema

NameRequiredDescriptionDefault
titleNo
panelsNo
run_idYes
x_unitNo
subtitleNo
display_windowNo
measurement_windowNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.6.0

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the annotations, the description discloses that the original run stays intact, that a new run is created returning ImageContent plus PNG/SVG/spec/measurements/manifest resources, that extrapolation is rejected, and that metrics are computed on the full measurement window before decimation. This is substantive side-effect and return-shape disclosure; it could go further on failure modes or duplicate-run behavior.

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?

Purpose is front-loaded and nearly every sentence carries technical payload (metrics list, guide semantics, interpolation and endpoint rules, decimation ordering). It is dense and telegraphic in places, which makes it harder to scan than a bulleted form would be, but there is little outright filler.

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?

For a 7-parameter plotting tool with no output schema and no schema descriptions, the description covers panel construction, window semantics, metric computation, and return resources well. Remaining gaps are what run_id refers to and what happens when panels is null, which an agent would need to call confidently.

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?

With 0% schema coverage and opaque nested panel objects, the description does the heavy lifting: it defines the panel keys (signal, label, unit, scale, metrics, guides, color), enumerates the allowed metrics and guides, explains scale as display_value=native_value*scale, and clarifies that windows are [start,stop] in original seconds/Hz independent of x_unit. run_id, title, and subtitle are left to the schema/name, and panels=null default behavior is unstated.

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 opening sentence gives a specific verb and resource set: plotting registered AC, transient, native FFT, or NumPy spectrum data. It clearly separates this from simulation siblings (fastmean_ac, fastmean_transient) by emphasizing it plots already-registered data, though it never names an alternative tool explicitly.

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 context is implied rather than stated: it makes clear you must have registered data and that native power requires exporting U(OUT)*I(RL) during transient first, which is genuine situational guidance. However, there is no explicit when/when-not framing, no mention of how to obtain run_id, and no named alternatives such as fastmean_preview or fastmean_get_result.

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