Skip to main content
Glama
Audio-Launch

@audiolabtools/mcp-server

Check audio against a loudness target (Spotify, EBU, etc.)

check_target

Verify audio loudness against delivery targets like Spotify, EBU, podcast. Get pass/fail with deltas and an ffmpeg command to fix failures.

Instructions

Verify whether audio hits a delivery target (Spotify -14 LUFS / EBU broadcast -23 / podcast -16 / etc.). Returns pass/fail with per-metric deltas and a concrete ffmpeg loudnorm command to fix if failing. Presets: spotify, apple-music, youtube, tidal, amazon-music, podcast, ebu-broadcast, atsc-broadcast; or target="custom" with lufs+tp. Audio source: a public https URL, or a local file path (path).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tpNo
urlNoPublic https URL to the audio file. Provide exactly one of url or path.
lufsNo
pathNoPath to a LOCAL audio file on this machine, analysed without hosting it publicly (files up to 4 MB are sent inline; larger ones up to 150 MB upload over a signed URL). Provide exactly one of url or path.
targetYesPreset id or "custom".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the return content (pass/fail with per-metric deltas and a fix command), the preset set, and the url-vs-path input modes. It omits auth/rate-limit or cost context, keeping it short of a 5.

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?

Front-loaded purpose in the first clause, then outputs, then presets, then source options — no filler. Dense but readable; the preset list is long yet functional.

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?

With no output schema, the description usefully explains the return shape and even the corrective ffmpeg command, and it covers target semantics. It leaves sibling routing and the missing 40% of parameter docs unaddressed, so not fully complete.

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 coverage is 60% and the description meaningfully compensates: it enumerates the valid preset ids and explains the custom path (target="custom" with lufs+tp), which the schema only gestures at with 'Preset id or "custom"'. The url/path exclusivity is also reinforced.

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?

States a specific verb and resource ('Verify whether audio hits a delivery target') with concrete scope (presets, LUFS values). However, it never differentiates itself from siblings like analyze_loudness or compare_loudness, which occupy adjacent territory in the same tool family.

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 context is implied by 'delivery target' and the preset list, so an agent can infer this is a compliance check versus a raw measurement. But there is no explicit when-to-use guidance or exclusion naming analyze_loudness or compare_loudness as alternatives.

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