Skip to main content
Glama

Analyze Pitches

analyze_pitches

Analyze pitches sounding in each beat of a bar, returning the loudest first with dB for pads, drones, sustained basses, and chords.

Instructions

Pitches sounding in each 1/per_bar of a bar, loudest first with dB (max 16 bars). Best view for pads, drones, sustained basses and chords; use analyze_melody for fast monophonic lines.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
barsNo
fminNoC1
sourceNoref:other
per_barNo
projectYes
floor_dbNo
max_notesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses a real constraint (max 16 bars) and the output ordering (loudest first with dB), which is useful, but it says nothing about how the analysis is sourced, whether it is a safe read-only operation, or any performance/authorization considerations.

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?

Two compact sentences, front-loading what the tool returns before the usage guidance, with essentially no filler. Minor awkwardness in the opening clause slightly hurts readability but nothing is wasted.

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?

An output schema exists, so the return format needn't be explained, and the description covers scope, ordering, and best-fit use cases. However, for a 7-parameter analysis tool with no annotations and 0% schema coverage, the near-total silence on most parameter meanings leaves the definition thinner than it should be.

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% across 7 parameters, so the description must compensate, and it only clarifies per_bar (subdivisions of a bar) and the bars cap. Key parameters like fmin, source, floor_db, and max_notes receive no explanation, leaving most of the schema opaque.

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 states a specific resource and output shape: pitches sounding per 1/per_bar subdivision, ordered loudest first with dB, capped at 16 bars. It is distinguishable from analyze_melody, though the phrasing ('Pitches sounding in each 1/per_bar of a bar') is grammatically awkward and omits an explicit verb.

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?

It gives clear when-to-use guidance ('Best view for pads, drones, sustained basses and chords') and names the alternative ('use analyze_melody for fast monophonic lines') with the condition that selects it. It does not address overlap with other sibling analyzers such as analyze_chords or analyze_notes, so it falls short of a full 5.

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