Skip to main content
Glama

search_by_reference

Use this when the user wants licensable music that sounds like a song they name or link. Do not use it to identify, play or download the reference recording itself. Find AINSOF music that SOUNDS LIKE a reference. Accepts a YouTube, Spotify, Apple Music or Deezer link, or 'artist - title'. SoundCloud is not supported because it exposes no permitted preview clip; TikTok is not supported because its published metadata identifies the post caption, not the recording. Ask for the artist and title instead. Use it when the user asks for AINSOF music similar to that reference: it matches the reference against the AINSOF catalog using available audio or metadata. Supply musical_description with concrete style, groove and instruments when supported by the user's description or reliable knowledge of the reference; omit it if uncertain. This adds a separate catalog-context search. Returned candidates are not verified sound-alikes; musical suitability requires listening. Records by other artists cannot be licensed from AINSOF, so this returns our cues rather than a reading list. The first reply is often still_running because it resolves the reference through public or authorized metadata and compares a permitted preview clip by sound — call it again with the same link and it picks up the search already running.

Input Schema

NameRequiredDescriptionDefault
linkYes
top_kNoNumber of candidates requested. Values below eight are normalized to eight.
musical_stylesNoKnown English genre labels from the user's request or reliable knowledge of the reference, e.g. disco, funk. Omit if uncertain. Matches catalog genre tags (including single words) and may return fewer cues. Multiple styles are alternatives, not proof of their combination. Never invent a genre to fill this field.
musical_descriptionNoKnown musical style, groove and instrumentation, preferably in English. Include the user's constraints. Do not invent traits or treat the artist/title as a musical description.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / top_k / default
      Previous value: -10New value: +8
    • addedInput schema / properties / top_k / description
      Added value: +"Number of candidates requested. Values below eight are normalized to eight."
    • addedInput schema / properties / top_k / maximum
      Added value: +25
    • addedInput schema / properties / top_k / minimum
      Added value: +1
  2. Changed1 schema field changed
    • changedInput schema / properties / musical_styles / description
      Previous value: -"Known English genre labels from the user's request or reliable knowledge of the reference, e.g. disco, funk. Omit if uncertain. Matches catalogue genre tags (including single words) and may return fewer cues. Multiple styles are alternatives, not proof of their combination. Never invent a genre to fill this field."New value: +"Known English genre labels from the user's request or reliable knowledge of the reference, e.g. disco, funk. Omit if uncertain. Matches catalog genre tags (including single words) and may return fewer cues. Multiple styles are alternatives, not proof of their combination. Never invent a genre to fill this field."
  3. Changed1 schema field changed
    • addedInput schema / properties / musical_styles
      Added value: +{
      +  "description": "Known English genre labels from the user's request or reliable knowledge of the reference, e.g. disco, funk. Omit if uncertain. Matches catalogue genre tags (including single words) and may return fewer cues. Multiple styles are alternatives, not proof of their combination. Never invent a genre to fill this field.",
      +  "items": {
      +    "maxLength": 80,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 4,
      +  "type": "array"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / musical_description
      Added value: +{
      +  "description": "Known musical style, groove and instrumentation, preferably in English. Include the user's constraints. Do not invent traits or treat the artist/title as a musical description.",
      +  "maxLength": 1000,
      +  "type": "string"
      +}
  5. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Discloses behavior the annotations cannot convey: the first reply is often 'still_running' because the reference is resolved through metadata and compared by preview clip, and re-calling with the same link resumes the running search. It also warns that candidates are unverified sound-alikes and that other artists' records cannot be licensed, which is high-value 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?

Front-loaded with the when-to-use condition, which is good, but the middle repeats the purpose twice ('Find AINSOF music that SOUNDS LIKE a reference' then 'Use it when the user asks for AINSOF music similar to that reference'), and the SoundCloud/TikTok rationale is longer than the decision it supports.

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?

For a non-idempotent, open-world search with no output schema, the description covers everything an agent needs: input formats, unsupported sources, optional refinement fields, the asynchronous still_running polling pattern, and the caveat that results are not verified sound-alikes. No material gap remains.

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?

The schema describes three of four parameters (75% coverage), and the description adds what the schema lacks: accepted link sources (YouTube, Spotify, Apple Music, Deezer) and the guidance to supply musical_description only when supported and to omit it when uncertain. top_k is left entirely to the schema, which is acceptable given its inline description.

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 — 'Find AINSOF music that SOUNDS LIKE a reference' — and explicitly scopes out identification, playback and download of the reference recording. It does not name or contrast the close siblings (find_similar, search_music, find_soundtrack), so the agent must infer the distinction from the reference-vs-catalog framing.

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 when-to-use ('user wants licensable music that sounds like a song they name or link'), when-not ('not to identify, play or download the reference'), and a concrete fallback for unsupported sources (SoundCloud/TikTok → ask for artist and title instead). The conditions that select this tool are fully spelled out.

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.

Resources