Skip to main content
Glama
ismail: agent DAW (MCP server)

ismail: agent DAW (MCP server)

Analyze Sections

analyze_sections

Analyze loudness by song section—RMS, peak, dynamic range—to flag builds that rival the climax and quiet sections that disappear; with stems, identify each section's loudest parts.

Instructions

Loudness per section: rms, peak, loudest and quietest 400 ms, and the song's dynamic range. sections = {"intro": [1, 4], "climax": [25, 28], ...} (bars inclusive); omitted = blocks of block bars. Flags the section right before the loudest when it is 2 dB or more quieter on average but peaks within 3 dB of it (a build as loud as its climax: the climax will not arrive, and this only showed up here) and sections so quiet they vanish at normal volume. A relative path is looked up in the working directory first, then in the project. With stems (the render's, from render(stems=True), or the reference's after separate) a last block names the loudest one or two parts per section and their rms against the mix's: for a render, the tracks routed to the master and each bus (a track on a bus counts inside it), so a part straight to master that carries a build the bus pulled down shows.

Input Schema

NameRequiredDescriptionDefault
blockNo
sourceNorender
projectYes
sectionsNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does a substantial job: it discloses the build-detection rule (a pre-climax section 2 dB or more quieter on average but peaking within 3 dB), the vanishing-quiet-section flag, the path resolution order (working directory then project), and the stems prerequisite. It does not state cost, runtime, or whether anything is written, but for a measurement tool the disclosed heuristics are the more valuable information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The content is front-loaded with the metrics, which is good, but the prose collapses into run-ons and nested parentheticals; the closing sentence about stems, buses, and parts routed to master versus a bus is nearly unparseable on first read. Editorial asides ('the climax will not arrive, and this only showed up here') crowd out operational detail and hurt scannability for an agent parsing the text.

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?

An output schema exists, so return values need not be described, and the description instead covers segmentation defaults, flag semantics, path resolution, and the stems prerequisite — the things the schema cannot express. The remaining gap is that it never states the acceptable values of `source`, which matters for a 4-parameter tool with 0% schema coverage.

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 description coverage is 0%, so the description must compensate, and it does for the hardest parameter: the `sections` map format is spelled out with a concrete example ('{"intro": [1, 4], ...} (bars inclusive)') and its default behavior when omitted. `block` is explained as the fallback block size in bars, `project` via the path lookup rule, and `source` only obliquely (render vs reference implied by the stems sentence) — the missing piece is the allowed values for `source`.

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 clause 'Loudness per section: rms, peak, loudest and quietest 400 ms, and the song's dynamic range' names the exact measurement set and the unit of analysis, so an agent knows precisely what it gets. It does not, however, distinguish itself from close siblings such as analyze_overview, analyze_structure, or cmp_sections, leaving the choice between section-level loudness and whole-song structure analysis to inference.

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 conditions are implied rather than stated: 'omitted = blocks of `block` bars' tells the agent the default segmentation, and the stems sentence reveals the prerequisite that a render with stems=True (or a separated reference) must already exist for part-level output. There is no explicit 'use this when X, use analyze_overview when Y', so selection against siblings is left to inference.

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