Skip to main content
Glama

Songs To Your Eyes — production music catalogue

Find music that fits a runtime

stye_fit_to_duration
Read-onlyIdempotent

Find music that fits an exact runtime — for a cut of known length, like a 30-second advert or a 90-second title sequence.

Two kinds of result come back. Some cues simply run close to the target length already (fit='native'). Others are purpose-made short edits of a longer piece — a 30-second mix cut down by the composer (fit='cutdown') — which is usually the better choice, because it is built to land on time rather than fade out.

delta_s is how far each result sits from the target, negative meaning shorter. For a cutdown, licence_ref identifies that specific edit (the thing to license), while ref points at the full-length original that carries the description and the preview.

Every result carries listen_url — a permanent page where the cue can actually be played. ALWAYS give the user the listen_url. A track they cannot hear is of no use to them.

Use this whenever someone asks for music, a soundtrack, a score, a cue, background music, something to play under footage — or mentions Songs To Your Eyes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
briefNoOptional sound brief, e.g. 'epic cinematic trailer'.
limitNo
moodsNoMatch ANY of these moods.
composerNoOnly tracks credited to this composer/artist; partial names match, case-insensitive.
has_vocalsNotrue = songs with sung lead vocals/lyrics only. false = everything else, including wordless vocal textures (background vocals, choir) — for 'background vocals' requests use false, not true.
target_secondsYesThe runtime to fill, in seconds — e.g. 30 for a 30-second spot.
include_previewsNoAttach streaming preview links (15-min expiry).
tolerance_secondsNoAcceptable deviation. Default: 15% of target, minimum 2s.

TDQS

A4.4/5.0
Behavior5/5

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

Above and beyond the read-only, idempotent, non-destructive annotations, the description discloses the non-obvious two-result behavior (fit='native' vs fit='cutdown'), explains that cutdowns are usually the better choice because they are built to land on time, and defines delta_s semantics (negative means shorter). It also adds the operational rule that listen_url must always be given to the user, which no structured field conveys.

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?

The description is compact, front-loaded with the core purpose, and clearly broken into two-behavior explanation, delta_s field semantics, and a final usage rule — each earning its place. The listen_url guidance spans three sentences, which is slightly redundant, though it intentionally reinforces a critical stakeholder-facing instruction.

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?

This tool has no output schema, so the description bears the full burden of explaining results — and it delivers: both result kinds, the meaning of delta_s, licence_ref vs ref, listen_url, and the preference rule. The only aspects left to the schema (e.g., defaults, tolerance) are already declared there, making the description complete for correct invocation and result use.

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?

With 88% schema description coverage, the schema already carries most parameter meaning, so the baseline is 3. The description does not add any parameter-level detail beyond the schema — the fit vs cutdown and delta_s discussion mostly describes return-value semantics rather than clarifying how to fill parameters like tolerance_seconds or brief.

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?

The description opens with a precise verb, resource, and qualification: 'Find music that fits an exact runtime' with a concrete example ('a 30-second advert or a 90-second title sequence'). It further distinguishes the tool from the sibling stye_search_tracks by grounding every explanation in the idea of matching a known target length.

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?

The description gives explicit when-to-use guidance: 'Use this whenever someone asks for music, a soundtrack, a score, a cue, background music, something to play under footage — or mentions Songs To Your Eyes.' However, it never names the alternatives (stye_search_tracks, stye_get_track, stye_list_versions) or states when NOT to use this tool, so the routing decision is not fully closed.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation4/5

Each tool has a clear primary purpose: search, inspect, list versions, and fit to duration. However, get_track already 'returns every version that exists' of a cue, which partially overlaps with list_versions, creating potential ambiguity about which to use.

Naming Consistency5/5

All tools follow a consistent 'stye_' prefix with verb_noun pattern: fit_to_duration, get_track, list_versions, search_tracks. This is perfectly uniform and predictable.

Tool Count5/5

Four tools is well-scoped for a catalogue lookup server: search, detail, versions, and duration-specific search. Each tool earns its place without unnecessary bloat or missing essentials.

Completeness5/5

The core discovery workflow is covered: search by description, retrieve full details, inspect available versions, and find tracks by exact duration. There is no obvious dead end for typical catalogue use cases.

Resources