TrackForge
Server Details
Check a song's MLC registration and unclaimed shares by ISRC; writers, publishers, ISWC; CWR checks
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
check_catalogue and lookup_recording both perform ISRC-based registration checks, so a single-recording query could plausibly route to either; the batch-vs-single and depth distinction is described but still requires reading. request_full_report and validate_cwr are clearly distinct from each other and from the lookup pair.
All four tools follow a consistent verb_noun snake_case pattern: check_catalogue, lookup_recording, request_full_report, validate_cwr. No mixed conventions or vague verbs.
Four tools cover batch checking, single-recording lookup, report requests, and CWR validation, each with a clear role. The set is slightly thin, with no work- or writer-centric lookup, but nothing feels redundant.
The surface covers the core workflow: validate CWR before submission, check registration status individually or in bulk, and hand off for a human report. Minor gaps remain (no direct work/writer lookup or non-ISRC batch input), but agents can work around these with repeated lookup_recording calls.
Available Tools
4 toolscheck_catalogueCatalogue registration check: up to 50 recordings against The MLCARead-onlyIdempotentInspect
Catalogue registration check (batch ISRC lookup): checks up to 50 recordings at once against The MLC's bulk data (US mechanical royalties), and a larger catalogue in several calls. Returns each recording's verdict (registered, partial, nobody, conflict, unknown) with its confidence, MLC song code and any unclaimed share, plus a summary counting each verdict, the next step for each verdict found, and the as_of date of the MLC snapshot. Each row also lists the ISWCs and writers of the works MusicBrainz links to the recording. Invalid ISRCs are listed and skipped. It finds recordings whose music royalties may be unmatched or unclaimed. Findings from registration data, not legal advice or a statement of song ownership.
| Name | Required | Description | Default |
|---|---|---|---|
| isrcs | Yes | ISRCs, 12 characters, e.g. USIR20400274 (hyphens and spaces allowed). At most 50; split larger catalogues into several calls. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| summary | Yes | |
| mlc_source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only, idempotent, non-destructive safety. Beyond that, the description adds valuable behavioral detail: invalid ISRCs are listed and skipped, results include an as_of snapshot date, and it explicitly disclaims legal advice/ownership. It does not mention rate limits or performance, which would complete the picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well front-loaded: batch scope, output verdicts, and the disclaimer are stated efficiently. However, the enumeration of return fields (verdicts, confidence, MLC song code, unclaimed share, summary, next steps, as_of, ISWCs, writers) is somewhat dense and long for a description when an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only batch lookup with an output schema and annotations, the description covers scope, expected outputs, edge cases (invalid ISRCs), and a legal caveat. It is nearly complete but lacks explicit routing guidance to sibling tools, which would make it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself documents ISRC format, max 50, and the split-catalogue guidance. The description repeats the batching constraint but adds no new syntax or semantic detail beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Catalogue registration check (batch ISRC lookup)' against The MLC. It clearly distinguishes its batch scope (up to 50) from the singular sibling lookup_recording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the use case ('finds recordings whose music royalties may be unmatched or unclaimed') and notes batching for larger catalogues, but never explicitly states when to use this tool vs. lookup_recording (its single-record sibling) or request_full_report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_recordingSong registration check: MLC registration, unclaimed shares, writers, publishers and ISWCsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| isrc | No | ISRC, 12 characters, e.g. USIR20400274 (hyphens and spaces allowed). | |
| title | No | Song title, when no ISRC or link is available. | |
| artist | No | Optional artist name; only together with title. | |
| full_record | No | True 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_url | No | Spotify track link (https://open.spotify.com/track/...) or spotify:track:... URI. Album and playlist links are not accepted. | |
| youtube_url | No | YouTube video link; resolved from the video title, so matches are low confidence. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notes | No | |
| query | Yes | |
| results | No | |
| ambiguous | No | |
| candidates | No | |
| input_kind | Yes | |
| mlc_source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only safety, but the description adds rich disclosure: verdict taxonomy (registered, partial, nobody, conflict, unknown), dated evidence with as_of and bulk-data provenance, ambiguity flag, confidence levels, and the cost warning that full_record is many times larger. This is substantially beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but long and somewhat run-on, packing many clauses into single sentences. It is front-loaded with the core action, but the sentence covering verdicts and evidence is complex and could be broken up. Every sentence does earn its place, but readability suffers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite high schema coverage and an output schema, the description adds necessary context about verdict semantics, evidence dating, ambiguity handling, and the size trade-off of full_record – all of which an agent needs to interpret results correctly. The combination of high-coverage schema, output schema, and this explanatory text makes the definition complete for a complex lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by stating the four alternative input modes and 'exactly one of', clarifying mutual exclusivity that the schema does not enforce. It also explains the meaning of verdicts and confidence, though it doesn't exhaustively cover each parameter's syntax beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (ISRC lookup and royalties registration check for one recording) and names what it returns: MLC works, verdicts, MusicBrainz data. Distinguishes itself from siblings like check_catalogue and request_full_report by scoping to a single recording's rights data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear input rules: 'Give exactly one of: an ISRC, a Spotify track link, a song title (optionally with the artist), or a YouTube link.' Also advises when to use full_record and notes YouTube matches are low confidence. Lacks explicit when-not-to-use relative to check_catalogue or request_full_report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_full_reportRequest a music royalties review (a person follows up)AInspect
Ask for a full music royalties and registration review of a catalogue. Records the request (contact name, email, optional organisation, the catalogue's ISRCs and/or a description) so a person at TrackForge can follow up by email. It does not generate or send a report. Call it only when the user has asked for a follow-up and agreed to be contacted: consent_to_contact must be true.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Contact name. | |
| Yes | Contact email address for the follow-up. | ||
| isrcs | No | ISRCs in the catalogue (up to 200). Give isrcs, catalogue_description, or both. | |
| organisation | No | Optional label, publisher or company name. | |
| consent_to_contact | Yes | True only if the user has agreed that TrackForge may contact them by email about this request. | |
| catalogue_description | No | Free-text description of the catalogue, e.g. artist names, number of songs, territories. |
Output Schema
| Name | Required | Description |
|---|---|---|
| recorded | Yes | |
| follow_up | Yes | |
| reference | Yes | |
| isrcs_recorded | Yes | |
| report_generated | No | |
| isrcs_not_recognised | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-read-only, open-world, non-idempotent, non-destructive call, and the description usefully adds what the side effect actually is: it records a request for a human to follow up by email, not a report generation. It does not discuss duplicate requests or rate limits, so it stops short of fully rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: what it does, what it records, and the consent gating rule. Front-loaded with the action and its human-follow-up nature before the constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-parameter request-submission tool with a full schema and an output schema, the description supplies the missing context: that no report is generated, a person follows up, and consent is required. Nothing needed to invoke it correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented with type, bounds, and meaning. The description restates the key fields (name, email, organisation, ISRCs/description) and the consent gate but adds no format or syntax detail beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Ask for a full music royalties and registration review of a catalogue') and explicitly disambiguates from what siblings might suggest by noting it does not generate or send a report. An agent can distinguish this from check_catalogue, lookup_recording, and validate_cwr without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use condition ('only when the user has asked for a follow-up and agreed to be contacted') plus a hard prerequisite ('consent_to_contact must be true'). It also states the negative case ('does not generate or send a report'), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cwrCWR validation (CWR 2.1 file check)ARead-onlyIdempotentInspect
CWR validation: checks the text of a CWR 2.1 (Common Works Registration) file used to register songs with music royalties societies such as The MLC, PRS for Music / ICE, SACEM or CMRRA. Returns whether the file is valid, error and warning counts, and each issue with its line, rule, plain-language explanation and how to fix it. Pass the file content as ASCII text, up to 256 KB; larger files can be uploaded at https://trackforge.studio/cwr-tool. Validation does not guarantee acceptance by a society. The file is not stored.
| Name | Required | Description | Default |
|---|---|---|---|
| cwr_text | Yes | The full CWR file content (ASCII text, HDR to TRL). | |
| filename | No | Optional original filename, e.g. CW260001TF_000.V21. A society receiver code in the name selects that society's rules. | |
| recipient_profile | No | Which society's rules to apply; cisac_base when unsure. | cisac_base |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | Yes | |
| stored | No | |
| is_valid | Yes | |
| error_count | Yes | |
| full_report | Yes | |
| issues_total | Yes | |
| record_count | Yes | |
| spec_version | Yes | |
| warning_count | Yes | |
| issues_truncated | Yes | |
| recipient_profile | Yes | |
| status_dimensions | No | |
| transaction_count | Yes | |
| recipient_resolution | Yes | |
| line_endings_converted | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds genuinely new context: the file is not stored, validation does not guarantee society acceptance, and there is a hard 256 KB ASCII input limit. That is real behavioral value beyond the annotations, though it says nothing about latency, rate limits, or partial-failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph, front-loaded with purpose and return shape before moving to constraints and caveats. Nearly every sentence carries information (return fields, size limit, fallback URL, non-storage, acceptance caveat), though the enumeration of societies is slightly padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not detail return values, yet it briefly does so helpfully. It covers format, size limit, storage, and the acceptance caveat; the only minor gap is no guidance on interaction with the sibling catalogue/report tools, which for a self-contained validator is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents cwr_text, filename (including the society-receiver-code rule) and recipient_profile. The description only restates the ASCII/256 KB constraint already encoded in maxLength, adding no semantics the schema lacks — baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (CWR 2.1 file validation) and names the artifact domain (songs registered with MLC, PRS/ICE, SACEM, CMRRA), which no sibling tool covers. An agent can immediately tell this apart from check_catalogue or lookup_recording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when the tool applies (checking a CWR 2.1 file before society submission) and routes oversized files (>256 KB) to a web upload URL, which is useful. However, it never states when to prefer this over sibling tools like check_catalogue, nor any prerequisites beyond format/size, so usage is only implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
check_catalogue - First observed
lookup_recording - First observed
request_full_report - First observed
validate_cwr
Related MCP Connectors
Audio features + harmonic set-building for tracks by name/ISRC. Spotify audio-features replacement.
Search, analyze, and discover commercially released music using sonic intelligence.
Search MusicBrainz artists, releases, works, labels; resolve ISRC/ISWC/barcode; fetch cover art.
Analyze tracks and manage customer music-promotion workflows through your DropTrack account.
Related MCP Servers
AlicenseAqualityAmaintenanceProvides access to the SonoVault music metadata API, enabling search and retrieval of information about 90M+ tracks, artists, labels, and releases, including ISRC, ISWC, and cross-platform IDs.15243 npmMIT- AlicenseAqualityCmaintenanceAutonomous music intelligence & A&R qualification engine. Extracts acoustic metadata (BPM, key, mood), scores real-time Spotify streaming traction, and detects AI-generated audio (Suno/Udio).4887 npmMIT

cwi-mcp-publicofficial
AlicenseNot gradedqualityBmaintenanceProvides read-only tools for searching CWI's catalog by title, artist, or ISRC, retrieving game metadata and play links, and querying ledger state, trust verdicts, and needle-drop verification via a streamable HTTP MCP server with Bearer token auth.MIT- AlicenseNot gradedqualityDmaintenanceEnables querying the Verified Human Cert registry to verify human-made music certifications by ISRC, artist, track, or cert number.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.