Skip to main content
Glama

fft_analysis

Compute the single-sided amplitude spectrum of a real signal via rfft to reveal frequency components and their magnitudes from signal data and sample rate.

Instructions

Compute the single-sided amplitude spectrum of a real signal via numpy rfft.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
signalYes
sample_rateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does implicitly signal that inputs must be real-valued (a genuine constraint, since rfft is used), but it says nothing about the return structure, frequency binning, DC/Nyquist handling, or the effect of sample_rate — significant gaps for a spectral analysis tool.

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?

A single front-loaded sentence with no filler; the purpose is stated immediately. It is efficient, though the extreme brevity is part of why other dimensions suffer.

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?

For a tool with no annotations, no output schema, and 0% parameter documentation, the description is too thin. It should at minimum describe what is returned (frequency axis plus amplitudes), how units relate to sample_rate, and when to prefer power_spectrum or stft.

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 description must compensate for both parameters. It partially does so for 'signal' by declaring the real-signal requirement, but 'sample_rate' (with its default of 1) is never mentioned, leaving frequency scaling — a critical semantic — completely undocumented.

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 names a specific verb ('Compute'), a specific output ('single-sided amplitude spectrum'), and a specific input domain ('real signal'), and it even names the algorithm (numpy rfft). This distinguishes it reasonably well from power_spectrum and stft, but it never explicitly contrasts itself with those close siblings, so it falls short of a 5.

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 statement of when to use this tool versus power_spectrum, stft, wavelet_transform, or filter_signal, all of which appear in the sibling list. No prerequisites and no exclusions are given; the agent must infer context entirely.

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