Skip to main content
Glama

withPICA Directory

Rights chain for a work

directory_chain
Read-onlyIdempotent

Use when the user asks: 'show me the rights chain for X', 'give me everything on this song', 'what's the full picture for X?', 'trace the chain from this writer to that work'. Graph lookup — resolves a query, ISWC, or ISRC to its full rights chain in one call. Each result bundles the work, its writers and publishers (names + roles, no IPIs or splits), the linked recording (ISRC, DSP presence, duration), and audio characteristics (BPM, key, energy). Prefer over stitching list_works + lookup_work + lookup_person when you want the whole graph around a track in a single round-trip. Supports audio-only queries (min_bpm, key, mood, etc.) when you don't have a text query. Work results carry programmable_since (every owner confirmed a locked split) and ready_to_license (composition and a master confirmed, with audio, ISRC and ISWC); filter to either with programmable_only / ready_to_license. → then: directory_lookup_work (deeper work detail), directory_list_people (research a named writer by name)

Input Schema

NameRequiredDescriptionDefault
qNoFree-text query (work title, creator name, etc.). Minimum 2 characters.
keyNoMusical key (e.g. 'C', 'F#', 'Bb')
moodNoMood — one of: aggressive, ambient, calm, contemplative, dark, dramatic, dreamy, energetic, epic, ethereal, hopeful, intense, melancholic, nostalgic, passionate, playful, romantic, sad, tender, tense, triumphant, uplifting, warm. "happy" is read as "uplifting". Any other word is refused. A mood matches analysed recordings, and also listed songs whose owner set that mood on audio that is not analysed: those carry mood_note "mood set by the owner, not analysed" and no measured values. With a BPM, key, energy or other measured filter, only analysed recordings match.
limitNoMax results (default 10, max 20)
max_bpmNoMaximum BPM
min_bpmNoMinimum BPM
key_modeNoKey mode
identifierNoISWC or ISRC — direct identifier lookup
max_energyNoMaximum energy, 0 to 1 (measured loudness)
min_energyNoMinimum energy, 0 to 1 — measured loudness, not a mood
ready_to_licenseNoOnly works ready to license — composition and a master confirmed by every owner, that recording has audio and an ISRC, and the work has an ISWC. Audio results are the ready recordings themselves. Drops people from text results.
programmable_onlyNoOnly programmable works — every owner confirmed a locked split, so a licence fee is paid to each without chasing sign-off. Drops people from text results.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Beyond the read-only, idempotent annotations, it discloses the one-call graph behavior, the contents of each bundled result, and the important exclusion that writers and publishers include names and roles but no IPIs or splits. It also explains the licensing-related result states, though it does not further detail query-resolution behavior or how empty or ambiguous matches are handled.

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 front-loaded with selection cues and then moves logically through behavior, alternatives, filters, and follow-up tools. It is dense and somewhat example-heavy, and the licensing definitions partly repeat the schema, but nearly every section serves a practical routing or invocation purpose.

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 complex 12-parameter lookup with no output schema, the description supplies the missing result-shape overview, explicit data limitations, licensing-state semantics, and downstream navigation. Together with the fully documented parameters and safety annotations, it provides enough context for correct tool selection and invocation.

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 schema already documents all 12 parameters thoroughly. The description adds useful cross-parameter guidance by explaining audio-only searches without a text query and connecting the work-level status fields to programmable_only and ready_to_license, but much of the individual filter semantics remains schema-driven.

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 gives a precise action and resource: a graph lookup that resolves a query, ISWC, or ISRC into a full rights chain. It further distinguishes the tool by its bundled work, contributor, recording, and audio data and by replacing a multi-tool lookup sequence.

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?

It opens with concrete request patterns, explicitly says to prefer it over stitching together list_works, lookup_work, and lookup_person for a whole-graph result, and identifies audio-only querying as another use case. The follow-up routing to directory_lookup_work and directory_list_people also clarifies where to go for narrower or deeper research.

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