Skip to main content
Glama

Add a version of a song

add_version

Make another take of a song as its own track, linked to the original: a clean edit, an instrumental, acoustic, live, a remix, your own words, or the explicit original. It starts with the song's credits, lyrics and store answers; the audio, ISRC, UPC and release are its own. Counts as a song on the plan. other_primary_artists in the answer did not come across: tell the artist.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "track_id": "<track_id>",
      "kind": "<kind>"
    },
    "name": "add_version"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindYesclean_edit is marked Clean and named Radio Edit. instrumental leaves the lyrics out. explicit_original is marked Explicit, with no version words, for a Clean song with no explicit version.
wordsNoFor something_else: what this version is, such as Slowed. Never an artist's name, and never Clean or Explicit.
artistNoOnly when you are connected as a label: the roster artist this call is for — their artist_user_id from list_roster, or their exact artist name. Required for every artist tool on a label connection. Leave it out on an artist's own connection.
dry_runNoTrue to check the call and see what it would write, without writing anything.
remixerNoFor remix: who remixed it. Ask the artist; they get the Remixer role.
track_idYesThe song to add a version of.
idempotency_keyNoSend the same key if you retry, and the add happens once.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only say this is a non-destructive, non-read-only write; the description goes well beyond that by disclosing what is inherited (credits, lyrics, store answers) versus newly owned (audio, ISRC, UPC, release), that it consumes a song slot on the plan, and a data-loss caveat that other primary artists are not carried over. That is exactly the kind of quota, inheritance and partial-failure context annotations cannot carry.

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?

Three tight sentences with the identity of the tool front-loaded and no filler. The final clauses (plan counting, the `other_primary_artists` caveat) are dense but each earns its place; only the transition between inheritance rules and plan cost is slightly abrupt.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutation with no output schema, the description covers inheritance, cost, and one output-field gotcha, with the label-versus-artist connection context handled by the `artist` schema description. It stops short of describing what the call returns (e.g. the created version's id) or that retries should use the idempotency key, which matters since idempotentHint is false.

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?

Schema coverage is 100% and each parameter, including every `kind` enum value, `words`, `remixer`, `artist`, `dry_run` and `idempotency_key`, is already documented in the schema. The description restates the kinds and their inheritance behavior but adds no parameter-level syntax or constraint beyond what the schema provides, so the baseline 3 applies.

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 and resource — make another take of a song as its own track, linked to the original — and enumerates the concrete kinds (clean edit, instrumental, acoustic, live, remix, own words, explicit original). An agent can immediately distinguish this from create_track (new song) or update_track (change existing) 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The enumeration of kinds plus the framing 'Make another take of a song as its own track' makes the use case clear, and the note about `other_primary_artists` not coming across is actionable guidance. It does not, however, explicitly exclude alternatives or state when to prefer a distinct new track via create_track over a version.

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