Skip to main content
Glama

Song registration check: MLC registration, unclaimed shares, writers, publishers and ISWCs

lookup_recording
Read-onlyIdempotent

ISRC lookup and music royalties registration check for one recording, with the song's rights data. Give exactly one of: an ISRC, a Spotify track link, a song title (optionally with the artist), or a YouTube link. Returns candidate recordings and MLC works, how each was matched and how confidently, and a verdict per recording: registered, partial (a share is unclaimed), nobody (no MLC work is linked), conflict, or unknown. Each verdict carries dated evidence (as_of, from The MLC's bulk data snapshot) and a factual next step. Also returns what MusicBrainz records for the recording: the linked works with their ISWCs, the writers and publishers with their IPI and ISNI numbers, the earliest release's album, date, label and catalogue number, and the MusicBrainz page. With full_record true it adds every release (label, catalogue number, country and date), performer and producer credits and related recordings; that answer is many times larger. When several matches are equally likely, ambiguous is true and all are returned. Findings from registration data, not legal advice or a statement of song ownership.

Input Schema

NameRequiredDescriptionDefault
isrcNoISRC, 12 characters, e.g. USIR20400274 (hyphens and spaces allowed).
titleNoSong title, when no ISRC or link is available.
artistNoOptional artist name; only together with title.
full_recordNoTrue to add MusicBrainz's full record of the recording: every release with its label, catalogue number, country and date, the credits, and related recordings. Only for an ISRC or a Spotify link that resolves to one recording. Leave it out unless that detail is needed: the answer is many times larger.
spotify_urlNoSpotify track link (https://open.spotify.com/track/...) or spotify:track:... URI. Album and playlist links are not accepted.
youtube_urlNoYouTube video link; resolved from the video title, so matches are low confidence.

Output Schema

NameRequiredDescriptionDefault
notesNo
queryYes
resultsNo
ambiguousNo
candidatesNo
input_kindYes
mlc_sourceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / $defs / MLCData / properties / writers_vs_discogs
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/WriterMatch"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / $defs / MLCOtherWork / properties / writers_vs_discogs
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/WriterMatch"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover readOnly/idempotent/openWorld, but the description adds substantial context beyond them: the verdict taxonomy (registered, partial, nobody, conflict, unknown), the dated as_of evidence from The MLC snapshot, the ambiguous flag behavior, relative payload size of full_record, and an explicit 'not legal advice' disclaimer. This is unusually rich disclosure.

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 with the core action and input rule, then layered detail. It is long, but nearly every clause carries information (verdicts, evidence, output contents, size warning). Slightly dense in the middle where MusicBrainz field lists could be trimmed.

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?

Given six optional params, an output schema, and a rich annotation set, the description covers inputs, verdict semantics, ambiguity handling, payload-size tradeoffs, and a scope disclaimer. Nothing an agent needs to call this correctly is missing.

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 100%, so the baseline is 3, but the description adds real meaning: the mutual-exclusivity rule ('exactly one of') and the cost/size tradeoff of full_record. It also clarifies the confidence implications of YouTube links, which the schema alone does not convey.

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+resource ('ISRC lookup and music royalties registration check for one recording') and immediately scopes the domain to rights/registration data. It is clearly distinguishable from siblings like check_catalogue and validate_cwr without opening any schema.

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?

Explicitly tells the agent to give exactly one of ISRC, Spotify link, title (+optional artist), or YouTube link, and states when to enable full_record ('leave it out unless that detail is needed'). It does not name alternative siblings for adjacent use cases, so routing between tools is only implicit.

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