Skip to main content
Glama
newsbubbles

ismail: agent DAW (MCP server)

Analyze Contour

analyze_contour

Extracts frame-by-frame pitch contours for monophonic lines to reveal slides, vibrato, ornaments, and quarter-tone intonation inside or between notes.

Instructions

Pitch contour of a monophonic line: one row per hop_ms frame with time, bar, beat, f0 in Hz, the pitch as a float MIDI number, the nearest note and its cents offset, and pYIN's voicing probability ('-' = unvoiced). For slides, vibrato, ornaments and intonation (maqam steps a quarter tone apart) inside or between notes; for a pitch per note use analyze_melody(cents=True). Output is one window of at most max_rows frames (cap 1000) from frame start; the last line names the start of the next window. bars up to 64; only the window is analysed. Narrow fmin/fmax around the line when a backing or an octave error pulls the reading.

Input Schema

NameRequiredDescriptionDefault
barsNo
fmaxNoC7
fminNoC1
startNo
hop_msNo
sourceNoref:other
projectYes
max_rowsNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the important traits: windowed output of at most max_rows (cap 1000), start-frame pagination with the next-window pointer on the last line, 'bars up to 64', and '-' meaning unvoiced. It does not say whether only the window is analysed at a cost, how long analysis takes, or anything about project scope/permissions, so the behavioral picture is good but not complete.

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 in the first clause and every sentence carries information (output fields, alternative tool, windowing, tuning advice). The first sentence is a long enumeration that is dense to parse, but nothing is 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 complex analysis tool it covers scope, output shape, pagination caps and the key tuning lever; the existence of an output schema means it did not need to spell out return structure as thoroughly as it did. The remaining gap is the unexplained project/source parameters and whether unvoiced frames are retained in the window.

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

Parameters3/5

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

Schema description coverage is 0% across 8 parameters, so the description must compensate; it gives real meaning to hop_ms, start, max_rows, fmin/fmax and partially bars. However the required 'project' parameter and the opaque 'source' (default 'ref:other') are never mentioned, leaving two parameters with no semantics anywhere.

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?

States a specific verb and resource ('pitch contour of a monophonic line') and enumerates the exact output columns (time, bar, beat, f0 Hz, float MIDI, nearest note + cents, voicing probability). It also explicitly separates itself from the nearest sibling: 'for a pitch per note use analyze_melody(cents=True)'.

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

Usage Guidelines5/5

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

Names the concrete tasks it serves (slides, vibrato, ornaments, intonation incl. quarter-tone maqam steps) and the alternative for a different need. It adds a practical exclusion-avoidance hint: 'Narrow fmin/fmax around the line when a backing or an octave error pulls the reading.'

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

Deploy Server

Other Tools