Skip to main content
Glama

render_report

Idempotent

Read the short text report and spectrogram image produced by an FL Studio render to inspect length, peak, key, bar activity, and flagged issues; call after rendering.

Instructions

Read what fl_render produced: the short report (length, peak, key, the number of parts sounding in each bar, and a flag only where something is found) and the spectrogram picture, as [text, image]. Call it after fl_render; it does not wait, and while the render is still going it says so: call again. With no render on record it answers to call fl_render first; a render that failed comes back as its log. Look at the picture before handing a piece over; the full analysis is in the .txt the report names. FL need not run. It writes into tmp/spectro/ only: a resized picture, and the spectrogram and its .txt again from the .wav when the log has no analysis.

Input Schema

NameRequiredDescriptionDefault
pathYesthe path given to fl_render, or the .wav beside it; only its file name is used to find the render, so two pieces with the same name in different folders share one report

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.4.2
    • changedInput schema / properties / path / description
      Previous value: -"the .flp (or its .wav) that fl_render rendered"New value: +"the path given to fl_render, or the .wav beside it; only its file name is used to find the render, so two pieces with the same name in different folders share one report"
  2. Addedv0.4.0

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses non-blocking behavior ("it does not wait... while the render is still going it says so: call again"), the failure path (a failed render returns its log), and concrete side effects ("writes into tmp/spectro/ only" — a resized picture plus regenerated spectrogram and .txt). These are consistent with readOnlyHint=false, idempotentHint=true and destructiveHint=false, and add real operational context.

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

Conciseness3/5

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

Information-dense but written as a semicolon-chained run-on with oblique phrasing ("it answers to call fl_render first"), which forces re-reading. The most important fact — that it reads rather than renders — is front-loaded, but the middle clauses bury the polling instruction and side-effect notes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description covers the return shape ([text, image]), what the text contains, the in-progress case, the failure case, the no-prerequisite case, and the on-disk side effects. An agent has everything needed to call it correctly and interpret its result.

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 100% and the schema already explains that only the file name is used to locate the render, including the same-name collision caveat. The prose only echoes this indirectly ("the .wav beside it"), so it adds little meaning beyond the structured field — the baseline 3 applies.

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 — read what fl_render produced — and enumerates the two return artifacts (short report text and spectrogram image) as [text, image]. It is explicitly positioned against the sibling fl_render that generates the output, so an agent can tell the producer from the reader without opening either schema.

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?

Gives explicit ordering ("Call it after fl_render"), an alternative when the precondition is unmet ("With no render on record it answers to call fl_render first"), and downstream workflow guidance ("Look at the picture before handing a piece over"). It also states that FL need not be running, removing a common source of mis-invocation.

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