musicbrainz-mcp-server

Search MusicBrainz artists, releases, works, labels; resolve ISRC/ISWC/barcode; fetch cover art.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
100%
Qualität der Benennung
80%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~12,853Tokens (Tool-Definitionen)
~15.0 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (10.04% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "musicbrainz-mcp-server": {
      "command": "bun",
      "args": [
        "@cyanheads/musicbrainz-mcp-server"
      ]
    }
  }
}

Ausführbare Pakete

npm@cyanheads/musicbrainz-mcp-server0.1.8streamable-http

Remote-Endpunkte

https://musicbrainz.caseyjhand.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (10)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢musicbrainz_search_entities(entityType, query, limit, offset)

Full-text search across a MusicBrainz entity type (artist, release-group, release, recording, work, label) using a Lucene query string. Returns ranked matches with MBID, name/title, disambiguation, type, and a 0–100 relevance score (100 = exact). Starting point when resolving a name to an MBID — chain the returned MBID into the matching musicbrainz_get_* tool. Results are in MusicBrainz score-descending order. Supports field-scoped Lucene syntax (e.g. `artist:radiohead AND country:GB`).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "entityType": {
      "type": "string",
      "enum": [
        "artist",
        "release-group",
        "release",
        "recording",
        "work",
        "label"
      ],
      "description": "Which entity type to search."
    },
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Lucene query string; must contain non-whitespace text. Plain text matches names/titles; field scoping (e.g. `artist:`, `country:`, `tag:`) is supported. Sent to MusicBrainz exactly as given."
    },
    "limit": {
      "default": 25,
      "description": "Maximum results to return (1–100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Result offset for pagination (0-based).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "entityType",
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "entityType": {
      "type": "string",
      "description": "The entity type that was searched."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mbid": {
            "type": "string",
            "description": "MusicBrainz identifier (UUID) — chain into the matching musicbrainz_get_* tool."
          },
          "name": {
            "type": "string",
            "description": "Entity name (artist/label) or title (release-group/release/recording/work)."
          },
          "score": {
            "type": "number",
            "description": "Lucene relevance score, 0–100. 100 = exact match; low scores are weak partial matches."
          },
          "disambiguation": {
            "description": "Short qualifier distinguishing same-named entities. Omitted when absent.",
            "type": "string"
          },
          "type": {
            "description": "Entity subtype (artist type, release-group primary type, work type, label type). Omitted when absent.",
            "type": "string"
          },
          "artistCredit": {
            "description": "Credited artist string, for release-group/release/recording results. Omitted for artist/label/work.",
            "type": "string"
          },
          "date": {
            "description": "First-release date (release-group) or release date (release). Omitted when absent.",
            "type": "string"
          },
          "country": {
            "description": "Country code, for release/artist/label results. Omitted when absent.",
            "type": "string"
          },
          "length": {
            "description": "Recording length as m:ss. Omitted when unknown.",
            "type": "string"
          },
          "isrcs": {
            "description": "ISRCs on a recording result. Omitted when none.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "iswcs": {
            "description": "ISWCs on a work result. Omitted when none.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "mbid",
          "name",
          "score"
        ],
        "additionalProperties": false,
        "description": "A ranked search hit. Type-specific fields appear only for the relevant entity type."
      },
      "description": "Ranked matches, in MusicBrainz score-descending order."
    },
    "effectiveQuery": {
      "type": "string",
      "description": "The query string as sent to MusicBrainz."
    },
    "totalCount": {
      "type": "number",
      "description": "Total matches upstream before the limit/offset window."
    },
    "notice": {
      "description": "Guidance when zero results matched — how to broaden or correct the query.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `blank_query`: The query contains only whitespace (it is blank after trimming). Other values are possible when a failure originates below the handler.",
              "examples": [
                "blank_query"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "entityType",
        "results",
        "effectiveQuery",
        "totalCount"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢musicbrainz_get_artist(mbid, inc_release_groups, inc_relationships)

Artist profile by MBID: type (person/group/…), country, life span, gender, area, aliases, tags/genres, plus the discography (release-groups) and band-membership / collaboration relationships and external links (Wikidata QID, Discogs, official site — surfaced as url-rels chainable to those servers). The 80% artist-detail call. Discography and relationships are capped at one page (25); for a prolific artist's complete release-group list, call musicbrainz_browse_entities with target_type=release-group and the artist link.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Artist MBID (36-character UUID)."
    },
    "inc_release_groups": {
      "default": true,
      "description": "Include the discography (release-groups). Capped at one page; use browse for the full set.",
      "type": "boolean"
    },
    "inc_relationships": {
      "default": true,
      "description": "Include band-membership / collaboration relationships and external links (url-rels).",
      "type": "boolean"
    }
  },
  "required": [
    "mbid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Artist MBID."
    },
    "name": {
      "type": "string",
      "description": "Artist name."
    },
    "sortName": {
      "description": "Sortable name form. Omitted when absent.",
      "type": "string"
    },
    "disambiguation": {
      "description": "Short qualifier distinguishing same-named artists. Omitted when absent.",
      "type": "string"
    },
    "type": {
      "description": "Artist type (Person, Group, Orchestra, …). Omitted when unknown.",
      "type": "string"
    },
    "gender": {
      "description": "Gender, for person-type artists. Omitted when unknown/inapplicable.",
      "type": "string"
    },
    "country": {
      "description": "ISO country code. Omitted when unknown.",
      "type": "string"
    },
    "area": {
      "description": "Associated area name. Omitted when unknown.",
      "type": "string"
    },
    "lifeSpan": {
      "description": "Birth/death or formation/dissolution span. Omitted when unknown.",
      "type": "object",
      "properties": {
        "begin": {
          "description": "Start date (YYYY, YYYY-MM, or YYYY-MM-DD). Omitted when unknown.",
          "type": "string"
        },
        "end": {
          "description": "End date. Omitted when unknown.",
          "type": "string"
        },
        "ended": {
          "description": "Whether the entity has ended. Omitted when the upstream value is unknown/null.",
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "aliases": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Alias name."
          },
          "sortName": {
            "description": "Sortable form of the alias. Omitted when absent.",
            "type": "string"
          },
          "type": {
            "description": "Alias type (e.g. \"Artist name\", \"Legal name\"). Omitted when absent.",
            "type": "string"
          },
          "locale": {
            "description": "BCP-47 locale of the alias. Omitted when absent.",
            "type": "string"
          },
          "primary": {
            "description": "Whether this is the primary alias for its locale. Omitted when absent.",
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "description": "An alternate name for the entity."
      },
      "description": "Alternate names (may be empty)."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Tag or genre name."
          },
          "count": {
            "type": "number",
            "description": "Community vote count for this tag."
          }
        },
        "required": [
          "name",
          "count"
        ],
        "additionalProperties": false,
        "description": "A folksonomy tag or genre with its vote count."
      },
      "description": "Community tags/genres with vote counts (may be empty)."
    },
    "releaseGroups": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mbid": {
            "type": "string",
            "description": "Release-group MBID — chain to musicbrainz_get_release_group."
          },
          "title": {
            "type": "string",
            "description": "Release-group title."
          },
          "primaryType": {
            "description": "Primary type (Album, Single, EP, …). Omitted when absent.",
            "type": "string"
          },
          "secondaryTypes": {
            "description": "Secondary types (Live, Compilation, …). Omitted when none.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "firstReleaseDate": {
            "description": "First-release date. Omitted when absent.",
            "type": "string"
          },
          "disambiguation": {
            "description": "Short qualifier. Omitted when absent.",
            "type": "string"
          }
        },
        "required": [
          "mbid",
          "title"
        ],
        "additionalProperties": false,
        "description": "A release-group in the artist discography (capped to one page — use browse for all)."
      },
      "description": "Discography — release-groups (one page; may be empty or capped)."
    },
    "relationships": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Relationship role (e.g. \"member of band\", \"producer\", \"writer\", \"performance\")."
          },
          "direction": {
            "description": "Relationship direction (\"forward\" | \"backward\"). Omitted when absent.",
            "type": "string"
          },
          "attributes": {
            "description": "Role modifiers (e.g. \"lead vocals\", \"assistant\", \"co\"). Omitted when none.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "targetType": {
            "type": "string",
            "description": "Type of the related entity (\"artist\" | \"work\" | \"recording\" | \"label\" | \"url\")."
          },
          "targetId": {
            "description": "MBID of the related entity — chain to the matching get_* tool. Omitted for url targets.",
            "type": "string"
          },
          "targetName": {
            "description": "Name/title of the related entity. Omitted when absent.",
            "type": "string"
          },
          "begin": {
            "description": "Relationship start date. Omitted when absent.",
            "type": "string"
          },
          "end": {
            "description": "Relationship end date. Omitted when absent.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "targetType"
        ],
        "additionalProperties": false,
        "description": "A typed relationship to another entity (band membership, performer, writer, etc.)."
      },
      "description": "Band membership and collaboration relationships (may be empty)."
    },
    "externalLinks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Link type (e.g. \"wikidata\", \"discogs\", \"official homepage\", \"streaming\")."
          },
          "resource": {
            "type": "string",
            "description": "The external URL. Wikidata/Discogs IDs live in the URL path — chain to those servers."
          }
        },
        "required": [
          "type",
          "resource"
        ],
        "additionalProperties": false,
        "description": "An external resource link (url-rel). Where cross-service IDs like Wikidata QID are surfaced."
      },
      "description": "External resource links (url-rels) — Wikidata, Discogs, official site (may be empty)."
    },
    "truncated": {
      "description": "True when the discography hit the one-page cap and more release-groups exist. Absent when the full set fit in one page.",
      "type": "boolean"
    },
    "shown": {
      "description": "Number of release-groups returned. Absent when not truncated.",
      "type": "number"
    },
    "cap": {
      "description": "The one-page cap that was applied. Absent when not truncated.",
      "type": "number"
    },
    "notice": {
      "description": "How to fetch the complete discography when truncated.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `invalid_mbid`: The MBID is malformed or the all-zeros sentinel (MusicBrainz returns HTTP 400). `entity_not_found`: The MBID is well-formed but no artist exists with it (MusicBrainz returns HTTP 404). Other values are possible when a failure originates below the handler.",
              "examples": [
                "invalid_mbid",
                "entity_not_found"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "mbid",
        "name",
        "aliases",
        "tags",
        "releaseGroups",
        "relationships",
        "externalLinks"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢musicbrainz_get_release_group(mbid)

Release-group ("the album" above specific pressings) by MBID: primary type (Album/Single/EP) and secondary types (Live/Compilation), first-release date, artist credit, the list of releases (editions), tags/genres, and cover-art availability from the Cover Art Archive (image count and front/back flags for the release-group's representative release — the art musicbrainz_get_cover_art returns; use that tool for the image URLs). The embedded releases list is capped at one page (25); for the complete set of editions, call musicbrainz_browse_entities with target_type=release and link.release-group. For a specific edition's tracklist, take a release MBID from the releases list and call musicbrainz_get_release.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Release-group MBID (36-character UUID)."
    }
  },
  "required": [
    "mbid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Release-group MBID."
    },
    "title": {
      "type": "string",
      "description": "Release-group title."
    },
    "disambiguation": {
      "description": "Short qualifier. Omitted when absent.",
      "type": "string"
    },
    "primaryType": {
      "description": "Primary type (Album, Single, EP, Broadcast, Other). Omitted when absent.",
      "type": "string"
    },
    "secondaryTypes": {
      "description": "Secondary types (Live, Compilation, Soundtrack, …). Omitted when none.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "firstReleaseDate": {
      "description": "Earliest release date across all editions. Omitted when absent.",
      "type": "string"
    },
    "artistCredit": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Credited name as it appears on the release (may be an alias)."
          },
          "artistId": {
            "type": "string",
            "description": "MBID of the credited artist — chain to musicbrainz_get_artist."
          },
          "artistName": {
            "type": "string",
            "description": "Canonical artist name."
          },
          "joinPhrase": {
            "description": "Text that joins this credit to the next (e.g. \" feat. \", \" & \"). Omitted when empty.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "artistId",
          "artistName"
        ],
        "additionalProperties": false,
        "description": "One credited artist within an artist credit."
      },
      "description": "Credited artists (may be empty)."
    },
    "artistCreditString": {
      "type": "string",
      "description": "Display string of the artist credit with join phrases."
    },
    "releases": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mbid": {
            "type": "string",
            "description": "Release MBID — chain to musicbrainz_get_release for the tracklist."
          },
          "title": {
            "type": "string",
            "description": "Release (edition) title."
          },
          "date": {
            "description": "Release date. Omitted when absent.",
            "type": "string"
          },
          "country": {
            "description": "Release country code. Omitted when absent.",
            "type": "string"
          },
          "status": {
            "description": "Release status (Official, Promotion, …). Omitted when absent.",
            "type": "string"
          },
          "disambiguation": {
            "description": "Short qualifier. Omitted when absent.",
            "type": "string"
          }
        },
        "required": [
          "mbid",
          "title"
        ],
        "additionalProperties": false,
        "description": "A release (edition) within the release-group."
      },
      "description": "Releases (editions) in this group (one page; may be empty or capped — use browse for all)."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Tag or genre name."
          },
          "count": {
            "type": "number",
            "description": "Community vote count for this tag."
          }
        },
        "required": [
          "name",
          "count"
        ],
        "additionalProperties": false,
        "description": "A folksonomy tag or genre with its vote count."
      },
      "description": "Community tags/genres (may be empty)."
    },
    "coverArt": {
      "description": "Cover-art availability from the Cover Art Archive: the images of the release-group's representative release, the same art musicbrainz_get_cover_art returns (exists: false with count 0 when the archive has none). Omitted when the archive lookup could not complete — the notice says so.",
      "type": "object",
      "properties": {
        "exists": {
          "type": "boolean",
          "description": "Whether the Cover Art Archive has any artwork for this entity."
        },
        "count": {
          "description": "Number of images available. Omitted when unknown.",
          "type": "number"
        },
        "front": {
          "description": "Whether a designated front image exists. Omitted when unknown.",
          "type": "boolean"
        },
        "back": {
          "description": "Whether a designated back image exists. Omitted when unknown.",
          "type": "boolean"
        }
      },
      "required": [
        "exists"
      ],
      "additionalProperties": false
    },
    "truncated": {
      "description": "True when the releases list hit the one-page cap and more editions exist. Absent when the full set fit in one page.",
      "type": "boolean"
    },
    "shown": {
      "description": "Number of releases returned. Absent when not truncated.",
      "type": "number"
    },
    "cap": {
      "description": "The one-page cap that was applied. Absent when not truncated.",
      "type": "number"
    },
    "notice": {
      "description": "Present when the releases list was capped (how to fetch the complete set of editions) and/or when cover-art availability could not be checked (why coverArt is omitted).",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `invalid_mbid`: The MBID is malformed or the all-zeros sentinel (MusicBrainz returns HTTP 400). `entity_not_found`: The MBID is well-formed but no release-group exists with it (MusicBrainz returns HTTP 404). Other values are possible when a failure originates below the handler.",
              "examples": [
                "invalid_mbid",
                "entity_not_found"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "mbid",
        "title",
        "artistCredit",
        "artistCreditString",
        "releases",
        "tags"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢musicbrainz_get_release(mbid)

One edition's full detail by MBID: the tracklist (media → tracks → recordings with lengths and recording MBIDs), label + catalog number, barcode, country, release date, format, packaging, text representation (language/script), and a cover-art availability stub. Track lengths are rendered m:ss (stored as milliseconds upstream). For the actual cover image URLs, call musicbrainz_get_cover_art with this release MBID.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Release MBID (36-character UUID)."
    }
  },
  "required": [
    "mbid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Release MBID."
    },
    "title": {
      "type": "string",
      "description": "Release title."
    },
    "disambiguation": {
      "description": "Short qualifier. Omitted when absent.",
      "type": "string"
    },
    "artistCredit": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Credited name as it appears on the release (may be an alias)."
          },
          "artistId": {
            "type": "string",
            "description": "MBID of the credited artist — chain to musicbrainz_get_artist."
          },
          "artistName": {
            "type": "string",
            "description": "Canonical artist name."
          },
          "joinPhrase": {
            "description": "Text that joins this credit to the next (e.g. \" feat. \", \" & \"). Omitted when empty.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "artistId",
          "artistName"
        ],
        "additionalProperties": false,
        "description": "One credited artist within an artist credit."
      },
      "description": "Credited artists (may be empty)."
    },
    "artistCreditString": {
      "type": "string",
      "description": "Display string of the artist credit with join phrases."
    },
    "status": {
      "description": "Release status (Official, Promotion, Bootleg, …). Omitted when absent.",
      "type": "string"
    },
    "date": {
      "description": "Release date. Omitted when absent.",
      "type": "string"
    },
    "country": {
      "description": "Release country code. Omitted when absent.",
      "type": "string"
    },
    "barcode": {
      "description": "Barcode (UPC/EAN). Omitted when absent; empty string upstream means \"known to have none\".",
      "type": "string"
    },
    "packaging": {
      "description": "Packaging type (Jewel Case, Digipak, …). Omitted when absent.",
      "type": "string"
    },
    "language": {
      "description": "Text-representation language code. Omitted when absent.",
      "type": "string"
    },
    "script": {
      "description": "Text-representation script code. Omitted when absent.",
      "type": "string"
    },
    "releaseGroupId": {
      "description": "Parent release-group MBID — chain to musicbrainz_get_release_group. Omitted when absent.",
      "type": "string"
    },
    "labelInfo": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "labelId": {
            "description": "Label MBID — chain to musicbrainz_get_label. Omitted when absent.",
            "type": "string"
          },
          "labelName": {
            "description": "Label name. Omitted when absent.",
            "type": "string"
          },
          "catalogNumber": {
            "description": "Catalog number on this release. Omitted when absent.",
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Label + catalog-number pairing for the release."
      },
      "description": "Label / catalog-number pairings (may be empty)."
    },
    "media": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "position": {
            "description": "Medium position in the release (disc 1, 2, …). Omitted when absent.",
            "type": "number"
          },
          "format": {
            "description": "Medium format (CD, Vinyl, Digital Media, …). Omitted when unknown.",
            "type": "string"
          },
          "title": {
            "description": "Medium title, when the disc is named. Omitted when absent.",
            "type": "string"
          },
          "trackCount": {
            "description": "Number of tracks on the medium. Omitted when absent.",
            "type": "number"
          },
          "tracks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "position": {
                  "description": "Track position on the medium. Omitted when absent.",
                  "type": "number"
                },
                "number": {
                  "description": "Printed track number (may differ from position). Omitted when absent.",
                  "type": "string"
                },
                "title": {
                  "type": "string",
                  "description": "Track title."
                },
                "length": {
                  "description": "Track length as m:ss. Omitted when unknown.",
                  "type": "string"
                },
                "recordingId": {
                  "description": "Recording MBID — chain to musicbrainz_get_recording. Omitted when absent.",
                  "type": "string"
                }
              },
              "required": [
                "title"
              ],
              "additionalProperties": false,
              "description": "A track on a medium, linked to its underlying recording."
            },
            "description": "Tracks on this medium (may be empty)."
          }
        },
        "required": [
          "tracks"
        ],
        "additionalProperties": false,
        "description": "One physical/digital medium (disc) of the release."
      },
      "description": "Media (discs) with their tracklists (may be empty)."
    },
    "coverArt": {
      "type": "object",
      "properties": {
        "exists": {
          "type": "boolean",
          "description": "Whether the Cover Art Archive has any artwork for this entity."
        },
        "count": {
          "description": "Number of images available. Omitted when unknown.",
          "type": "number"
        },
        "front": {
          "description": "Whether a designated front image exists. Omitted when unknown.",
          "type": "boolean"
        },
        "back": {
          "description": "Whether a designated back image exists. Omitted when unknown.",
          "type": "boolean"
        }
      },
      "required": [
        "exists"
      ],
      "additionalProperties": false,
      "description": "Whether cover art exists (availability stub from WS/2)."
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `invalid_mbid`: The MBID is malformed or the all-zeros sentinel (MusicBrainz returns HTTP 400). `entity_not_found`: The MBID is well-formed but no release exists with it (MusicBrainz returns HTTP 404). Other values are possible when a failure originates below the handler.",
              "examples": [
                "invalid_mbid",
                "entity_not_found"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "mbid",
        "title",
        "artistCredit",
        "artistCreditString",
        "labelInfo",
        "media",
        "coverArt"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢musicbrainz_get_recording(mbid, inc_relationships)

Recording (a specific performance/track, distinct from the abstract work) by MBID: length, artist credits, ISRCs, the releases it appears on, the work(s) it performs (work-rels — chain to musicbrainz_get_work), and performance/production relationships (who played, produced, engineered, conducted — each with the role and the credited artist MBID). Relationships are capped at one page; for a heavily-covered recording call musicbrainz_browse_entities with target_type=recording and link.work.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Recording MBID (36-character UUID)."
    },
    "inc_relationships": {
      "default": true,
      "description": "Include performance/production relationships (performers, producers, engineers) and work-rels.",
      "type": "boolean"
    }
  },
  "required": [
    "mbid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Recording MBID."
    },
    "title": {
      "type": "string",
      "description": "Recording title."
    },
    "disambiguation": {
      "description": "Short qualifier. Omitted when absent.",
      "type": "string"
    },
    "length": {
      "description": "Recording length as m:ss. Omitted when unknown.",
      "type": "string"
    },
    "artistCredit": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Credited name as it appears on the release (may be an alias)."
          },
          "artistId": {
            "type": "string",
            "description": "MBID of the credited artist — chain to musicbrainz_get_artist."
          },
          "artistName": {
            "type": "string",
            "description": "Canonical artist name."
          },
          "joinPhrase": {
            "description": "Text that joins this credit to the next (e.g. \" feat. \", \" & \"). Omitted when empty.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "artistId",
          "artistName"
        ],
        "additionalProperties": false,
        "description": "One credited artist within an artist credit."
      },
      "description": "Credited artists (may be empty)."
    },
    "artistCreditString": {
      "type": "string",
      "description": "Display string of the artist credit with join phrases."
    },
    "isrcs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "ISRCs assigned to this recording (may be empty)."
    },
    "firstReleaseDate": {
      "description": "Earliest release date for this recording. Omitted when absent.",
      "type": "string"
    },
    "releases": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mbid": {
            "type": "string",
            "description": "Release MBID — chain to musicbrainz_get_release."
          },
          "title": {
            "type": "string",
            "description": "Release title."
          },
          "date": {
            "description": "Release date. Omitted when absent.",
            "type": "string"
          },
          "country": {
            "description": "Release country code. Omitted when absent.",
            "type": "string"
          }
        },
        "required": [
          "mbid",
          "title"
        ],
        "additionalProperties": false,
        "description": "A release this recording appears on."
      },
      "description": "Releases this recording appears on (may be empty)."
    },
    "relationships": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Relationship role (e.g. \"member of band\", \"producer\", \"writer\", \"performance\")."
          },
          "direction": {
            "description": "Relationship direction (\"forward\" | \"backward\"). Omitted when absent.",
            "type": "string"
          },
          "attributes": {
            "description": "Role modifiers (e.g. \"lead vocals\", \"assistant\", \"co\"). Omitted when none.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "targetType": {
            "type": "string",
            "description": "Type of the related entity (\"artist\" | \"work\" | \"recording\" | \"label\" | \"url\")."
          },
          "targetId": {
            "description": "MBID of the related entity — chain to the matching get_* tool. Omitted for url targets.",
            "type": "string"
          },
          "targetName": {
            "description": "Name/title of the related entity. Omitted when absent.",
            "type": "string"
          },
          "begin": {
            "description": "Relationship start date. Omitted when absent.",
            "type": "string"
          },
          "end": {
            "description": "Relationship end date. Omitted when absent.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "targetType"
        ],
        "additionalProperties": false,
        "description": "A typed relationship to another entity (band membership, performer, writer, etc.)."
      },
      "description": "Performance/production relationships and work-rels (may be empty)."
    },
    "externalLinks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Link type (e.g. \"wikidata\", \"discogs\", \"official homepage\", \"streaming\")."
          },
          "resource": {
            "type": "string",
            "description": "The external URL. Wikidata/Discogs IDs live in the URL path — chain to those servers."
          }
        },
        "required": [
          "type",
          "resource"
        ],
        "additionalProperties": false,
        "description": "An external resource link (url-rel). Where cross-service IDs like Wikidata QID are surfaced."
      },
      "description": "External resource links (url-rels) (may be empty)."
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `invalid_mbid`: The MBID is malformed or the all-zeros sentinel (MusicBrainz returns HTTP 400). `entity_not_found`: The MBID is well-formed but no recording exists with it (MusicBrainz returns HTTP 404). Other values are possible when a failure originates below the handler.",
              "examples": [
                "invalid_mbid",
                "entity_not_found"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "mbid",
        "title",
        "artistCredit",
        "artistCreditString",
        "isrcs",
        "releases",
        "relationships",
        "externalLinks"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢musicbrainz_get_work(mbid, inc_relationships)

Work (a composition — the song as written, distinct from any specific recording) by MBID: type, language(s), ISWCs (the work-level standard identifier), writer/composer/lyricist relationships (with the credited artist MBID), aliases, tags, and the recordings that perform it. The recording relationships are returned in full (the work lookup does not page them).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Work MBID (36-character UUID)."
    },
    "inc_relationships": {
      "default": true,
      "description": "Include writer/composer relationships, recording relationships, and external links.",
      "type": "boolean"
    }
  },
  "required": [
    "mbid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Work MBID."
    },
    "title": {
      "type": "string",
      "description": "Work title."
    },
    "disambiguation": {
      "description": "Short qualifier. Omitted when absent.",
      "type": "string"
    },
    "type": {
      "description": "Work type (Song, Symphony, …). Omitted when unknown.",
      "type": "string"
    },
    "languages": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Lyrics languages (ISO codes; may be empty)."
    },
    "iswcs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "ISWCs assigned to this work (may be empty)."
    },
    "aliases": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Alias name."
          },
          "sortName": {
            "description": "Sortable form of the alias. Omitted when absent.",
            "type": "string"
          },
          "type": {
            "description": "Alias type (e.g. \"Artist name\", \"Legal name\"). Omitted when absent.",
            "type": "string"
          },
          "locale": {
            "description": "BCP-47 locale of the alias. Omitted when absent.",
            "type": "string"
          },
          "primary": {
            "description": "Whether this is the primary alias for its locale. Omitted when absent.",
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "description": "An alternate name for the entity."
      },
      "description": "Alternate titles (may be empty)."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Tag or genre name."
          },
          "count": {
            "type": "number",
            "description": "Community vote count for this tag."
          }
        },
        "required": [
          "name",
          "count"
        ],
        "additionalProperties": false,
        "description": "A folksonomy tag or genre with its vote count."
      },
      "description": "Community tags/genres (may be empty)."
    },
    "relationships": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Relationship role (e.g. \"member of band\", \"producer\", \"writer\", \"performance\")."
          },
          "direction": {
            "description": "Relationship direction (\"forward\" | \"backward\"). Omitted when absent.",
            "type": "string"
          },
          "attributes": {
            "description": "Role modifiers (e.g. \"lead vocals\", \"assistant\", \"co\"). Omitted when none.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "targetType": {
            "type": "string",
            "description": "Type of the related entity (\"artist\" | \"work\" | \"recording\" | \"label\" | \"url\")."
          },
          "targetId": {
            "description": "MBID of the related entity — chain to the matching get_* tool. Omitted for url targets.",
            "type": "string"
          },
          "targetName": {
            "description": "Name/title of the related entity. Omitted when absent.",
            "type": "string"
          },
          "begin": {
            "description": "Relationship start date. Omitted when absent.",
            "type": "string"
          },
          "end": {
            "description": "Relationship end date. Omitted when absent.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "targetType"
        ],
        "additionalProperties": false,
        "description": "A typed relationship to another entity (band membership, performer, writer, etc.)."
      },
      "description": "Writer/composer/lyricist relationships and recording-rels — the complete set (may be empty)."
    },
    "externalLinks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Link type (e.g. \"wikidata\", \"discogs\", \"official homepage\", \"streaming\")."
          },
          "resource": {
            "type": "string",
            "description": "The external URL. Wikidata/Discogs IDs live in the URL path — chain to those servers."
          }
        },
        "required": [
          "type",
          "resource"
        ],
        "additionalProperties": false,
        "description": "An external resource link (url-rel). Where cross-service IDs like Wikidata QID are surfaced."
      },
      "description": "External resource links (url-rels) (may be empty)."
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `invalid_mbid`: The MBID is malformed or the all-zeros sentinel (MusicBrainz returns HTTP 400). `entity_not_found`: The MBID is well-formed but no work exists with it (MusicBrainz returns HTTP 404). Other values are possible when a failure originates below the handler.",
              "examples": [
                "invalid_mbid",
                "entity_not_found"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "mbid",
        "title",
        "languages",
        "iswcs",
        "aliases",
        "tags",
        "relationships",
        "externalLinks"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢musicbrainz_get_label(mbid)

Label by MBID: type (Original Production, Reissue, Imprint, …), country, life span, label code (the LC number), area, aliases, tags, and external links (url-rels — Wikidata, Discogs, official site). A label's releases are a potentially huge linked set (a major label can have tens of thousands), so they are NOT embedded here — enumerate them with musicbrainz_browse_entities (target_type=release, link.label).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Label MBID (36-character UUID)."
    }
  },
  "required": [
    "mbid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Label MBID."
    },
    "name": {
      "type": "string",
      "description": "Label name."
    },
    "sortName": {
      "description": "Sortable name form. Omitted when absent.",
      "type": "string"
    },
    "disambiguation": {
      "description": "Short qualifier. Omitted when absent.",
      "type": "string"
    },
    "type": {
      "description": "Label type. Omitted when unknown.",
      "type": "string"
    },
    "labelCode": {
      "description": "Label code (LC number), without the \"LC\" prefix. Omitted when absent.",
      "type": "number"
    },
    "country": {
      "description": "ISO country code. Omitted when unknown.",
      "type": "string"
    },
    "area": {
      "description": "Associated area name. Omitted when unknown.",
      "type": "string"
    },
    "lifeSpan": {
      "description": "Founding/dissolution span. Omitted when unknown.",
      "type": "object",
      "properties": {
        "begin": {
          "description": "Start date (YYYY, YYYY-MM, or YYYY-MM-DD). Omitted when unknown.",
          "type": "string"
        },
        "end": {
          "description": "End date. Omitted when unknown.",
          "type": "string"
        },
        "ended": {
          "description": "Whether the entity has ended. Omitted when the upstream value is unknown/null.",
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "aliases": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Alias name."
          },
          "sortName": {
            "description": "Sortable form of the alias. Omitted when absent.",
            "type": "string"
          },
          "type": {
            "description": "Alias type (e.g. \"Artist name\", \"Legal name\"). Omitted when absent.",
            "type": "string"
          },
          "locale": {
            "description": "BCP-47 locale of the alias. Omitted when absent.",
            "type": "string"
          },
          "primary": {
            "description": "Whether this is the primary alias for its locale. Omitted when absent.",
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "description": "An alternate name for the entity."
      },
      "description": "Alternate names (may be empty)."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Tag or genre name."
          },
          "count": {
            "type": "number",
            "description": "Community vote count for this tag."
          }
        },
        "required": [
          "name",
          "count"
        ],
        "additionalProperties": false,
        "description": "A folksonomy tag or genre with its vote count."
      },
      "description": "Community tags/genres (may be empty)."
    },
    "externalLinks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Link type (e.g. \"wikidata\", \"discogs\", \"official homepage\", \"streaming\")."
          },
          "resource": {
            "type": "string",
            "description": "The external URL. Wikidata/Discogs IDs live in the URL path — chain to those servers."
          }
        },
        "required": [
          "type",
          "resource"
        ],
        "additionalProperties": false,
        "description": "An external resource link (url-rel). Where cross-service IDs like Wikidata QID are surfaced."
      },
      "description": "External resource links (url-rels) (may be empty)."
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `invalid_mbid`: The MBID is malformed or the all-zeros sentinel (MusicBrainz returns HTTP 400). `entity_not_found`: The MBID is well-formed but no label exists with it (MusicBrainz returns HTTP 404). Other values are possible when a failure originates below the handler.",
              "examples": [
                "invalid_mbid",
                "entity_not_found"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "mbid",
        "name",
        "aliases",
        "tags",
        "externalLinks"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢musicbrainz_lookup_identifier(id_type, value)

Resolve a standard identifier to MusicBrainz entities without a name search — the deterministic path when you already hold an ID. id_type=isrc → recordings (a recording-level code, often shared by several recordings); id_type=iswc → works (a composition-level code); id_type=barcode → releases (UPC/EAN digits; spaces and hyphens are ignored). ISRC and ISWC hit dedicated exact endpoints; barcode is a Lucene search filter so results are ranked (exact match scores 100). The output kind field tells you which entity type came back.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id_type": {
      "type": "string",
      "enum": [
        "isrc",
        "iswc",
        "barcode"
      ],
      "description": "Which standard identifier: isrc (recording), iswc (work), or barcode (release)."
    },
    "value": {
      "type": "string",
      "minLength": 1,
      "description": "The identifier value. ISRC e.g. \"USRC17607839\"; ISWC e.g. \"T-010.140.236-1\"; barcode = the UPC/EAN digits, e.g. \"075678164125\" (spaces and hyphens are ignored; any other character, including a wildcard, is rejected)."
    }
  },
  "required": [
    "id_type",
    "value"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "recordings",
              "description": "ISRC resolved to recordings."
            },
            "identifier": {
              "type": "string",
              "description": "The looked-up identifier value."
            },
            "recordings": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "mbid": {
                    "type": "string",
                    "description": "Recording MBID — chain to musicbrainz_get_recording."
                  },
                  "title": {
                    "type": "string",
                    "description": "Recording title."
                  },
                  "artistCredit": {
                    "type": "string",
                    "description": "Credited artist string; falls back to \"Unknown artist\" when none is recorded."
                  },
                  "length": {
                    "description": "Recording length as m:ss. Omitted when unknown.",
                    "type": "string"
                  }
                },
                "required": [
                  "mbid",
                  "title",
                  "artistCredit"
                ],
                "additionalProperties": false,
                "description": "A recording carrying the looked-up ISRC."
              },
              "description": "Recordings carrying this ISRC."
            }
          },
          "required": [
            "kind",
            "identifier",
            "recordings"
          ],
          "additionalProperties": false,
          "description": "ISRC result arm: recordings carrying the ISRC."
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "works",
              "description": "ISWC resolved to works."
            },
            "identifier": {
              "type": "string",
              "description": "The looked-up identifier value."
            },
            "works": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "mbid": {
                    "type": "string",
                    "description": "Work MBID — chain to musicbrainz_get_work."
                  },
                  "title": {
                    "type": "string",
                    "description": "Work title."
                  },
                  "type": {
                    "description": "Work type. Omitted when absent.",
                    "type": "string"
                  }
                },
                "required": [
                  "mbid",
                  "title"
                ],
                "additionalProperties": false,
                "description": "A work carrying the looked-up ISWC."
              },
              "description": "Works carrying this ISWC."
            }
          },
          "required": [
            "kind",
            "identifier",
            "works"
          ],
          "additionalProperties": false,
          "description": "ISWC result arm: works carrying the ISWC."
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "releases",
              "description": "Barcode resolved to releases."
            },
            "identifier": {
              "type": "string",
              "description": "The barcode digits that were searched (spaces and hyphens removed)."
            },
            "releases": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "mbid": {
                    "type": "string",
                    "description": "Release MBID — chain to musicbrainz_get_release."
                  },
                  "title": {
                    "type": "string",
                    "description": "Release title."
                  },
                  "artistCredit": {
                    "type": "string",
                    "description": "Credited artist string."
                  },
                  "date": {
                    "description": "Release date. Omitted when absent.",
                    "type": "string"
                  },
                  "country": {
                    "description": "Release country code. Omitted when absent.",
                    "type": "string"
                  },
                  "score": {
                    "type": "number",
                    "description": "Lucene relevance score, 0–100 (barcode is a search filter; exact = 100)."
                  }
                },
                "required": [
                  "mbid",
                  "title",
                  "artistCredit",
                  "score"
                ],
                "additionalProperties": false,
                "description": "A release carrying the looked-up barcode."
              },
              "description": "Releases carrying this barcode (ranked)."
            }
          },
          "required": [
            "kind",
            "identifier",
            "releases"
          ],
          "additionalProperties": false,
          "description": "Barcode result arm: releases carrying the barcode."
        }
      ],
      "description": "The resolved entities, discriminated by `kind` (recordings | works | releases)."
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `identifier_not_found`: The identifier is well-formed but resolves to zero entities. `invalid_identifier`: The ISRC/ISWC is malformed (the dedicated endpoint returns HTTP 400), or the barcode contains anything other than digits once spaces and hyphens are removed. Other values are possible when a failure originates below the handler.",
              "examples": [
                "identifier_not_found",
                "invalid_identifier"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "result"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢musicbrainz_browse_entities(target_type, link, limit, offset)

Paginate the COMPLETE set of entities linked to a parent MBID — every release-group by an artist, every release on a label, every recording of a work, every release in a release-group. This is the only complete-enumeration path: the get_* tools embed at most one page (25) of any linked list, so use this tool whenever a linked set may exceed a page (a prolific artist, a major label with thousands of releases, a heavily-covered work). Provide exactly ONE link MBID matching a valid parent→child relationship for the target_type. Pages arbitrarily deep via offset; totalCount is the true upstream total.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "target_type": {
      "type": "string",
      "enum": [
        "artist",
        "release-group",
        "release",
        "recording",
        "work",
        "label"
      ],
      "description": "The entity type to enumerate (the children)."
    },
    "link": {
      "type": "object",
      "properties": {
        "artist": {
          "description": "Parent artist MBID (e.g. release-groups/recordings/releases by this artist).",
          "type": "string"
        },
        "label": {
          "description": "Parent label MBID (releases on this label).",
          "type": "string"
        },
        "release-group": {
          "description": "Parent release-group MBID (releases in this group).",
          "type": "string"
        },
        "recording": {
          "description": "Parent recording MBID (releases containing this recording).",
          "type": "string"
        },
        "work": {
          "description": "Parent work MBID (recordings of this work).",
          "type": "string"
        },
        "area": {
          "description": "Parent area MBID (artists/labels in this area).",
          "type": "string"
        }
      },
      "description": "Exactly one parent MBID. The valid key depends on target_type (see the description)."
    },
    "limit": {
      "default": 25,
      "description": "Page size (1–100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "default": 0,
      "description": "Result offset for deep pagination (0-based).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "target_type",
    "link"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "targetType": {
      "type": "string",
      "description": "The entity type that was enumerated."
    },
    "linkType": {
      "type": "string",
      "description": "The parent link type used (artist, label, release-group, recording, work, or area)."
    },
    "linkMbid": {
      "type": "string",
      "description": "The parent MBID that was browsed."
    },
    "entities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mbid": {
            "type": "string",
            "description": "Entity MBID — chain to the matching musicbrainz_get_* tool."
          },
          "name": {
            "type": "string",
            "description": "Entity name (artist/label) or title (release-group/release/recording/work)."
          },
          "disambiguation": {
            "description": "Short qualifier. Omitted when absent.",
            "type": "string"
          },
          "type": {
            "description": "Entity subtype, where applicable. Omitted when absent.",
            "type": "string"
          },
          "artistCredit": {
            "description": "Credited artist string, for release-group/release/recording. Omitted otherwise.",
            "type": "string"
          },
          "date": {
            "description": "First-release/release date, where applicable. Omitted when absent.",
            "type": "string"
          },
          "country": {
            "description": "Country code, where applicable. Omitted when absent.",
            "type": "string"
          },
          "length": {
            "description": "Recording length as m:ss. Omitted when not a recording / unknown.",
            "type": "string"
          }
        },
        "required": [
          "mbid",
          "name"
        ],
        "additionalProperties": false,
        "description": "A lightweight reference to a linked entity."
      },
      "description": "This page of linked entities, in upstream order."
    },
    "offset": {
      "type": "number",
      "description": "The offset used for this page."
    },
    "totalCount": {
      "type": "number",
      "description": "True total number of linked entities upstream (the {type}-count field)."
    },
    "truncated": {
      "description": "True when more entities remain beyond this page (offset + shown < totalCount). Absent when the page is complete.",
      "type": "boolean"
    },
    "shown": {
      "description": "Number of entities returned in this page. Absent when not truncated.",
      "type": "number"
    },
    "cap": {
      "description": "The page size that was applied. Absent when not truncated.",
      "type": "number"
    },
    "notice": {
      "description": "How to page further when results remain, or guidance when empty.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `invalid_link`: No link MBID was provided, more than one was provided, or the link MBID is malformed (HTTP 400). `entity_not_found`: The link MBID is well-formed but no such parent entity exists (HTTP 404). Other values are possible when a failure originates below the handler.",
              "examples": [
                "invalid_link",
                "entity_not_found"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "targetType",
        "linkType",
        "linkMbid",
        "entities",
        "offset",
        "totalCount"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}
🟢musicbrainz_get_cover_art(mbid, entity_type)

Cover Art Archive images for a release or release-group MBID: front/back flags, image types, full-resolution URLs, and 250/500/1200px thumbnail URLs. Returns an empty image set (NOT an error) when the entity has no art — absence of art is information. An MBID that matches no release or release-group of the given entity_type fails with entity_not_found instead of an empty set. Art is served at the release level; a release-group MBID resolves to a representative release's art automatically. URLs are linked, never rehosted — image copyright stays with the rights holders (only MusicBrainz core metadata is CC0).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "Release or release-group MBID (36-character UUID)."
    },
    "entity_type": {
      "default": "release",
      "description": "Whether the MBID is a release (default) or a release-group.",
      "type": "string",
      "enum": [
        "release",
        "release-group"
      ]
    }
  },
  "required": [
    "mbid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mbid": {
      "type": "string",
      "description": "The MBID that was queried."
    },
    "entityType": {
      "type": "string",
      "description": "Whether the MBID was treated as a release or release-group."
    },
    "representativeRelease": {
      "description": "For a release-group query, the release MBID whose art was returned. Omitted for direct release queries.",
      "type": "string"
    },
    "images": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Cover Art Archive image ID."
          },
          "front": {
            "type": "boolean",
            "description": "Whether this is a designated front image."
          },
          "back": {
            "type": "boolean",
            "description": "Whether this is a designated back image."
          },
          "types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Image types (Front, Back, Booklet, Medium, …; may be empty)."
          },
          "imageUrl": {
            "type": "string",
            "description": "Full-resolution image URL (linked, not rehosted — copyright stays with the rights holder)."
          },
          "thumbnail250": {
            "description": "250px thumbnail URL. Omitted when unavailable.",
            "type": "string"
          },
          "thumbnail500": {
            "description": "500px thumbnail URL. Omitted when unavailable.",
            "type": "string"
          },
          "thumbnail1200": {
            "description": "1200px thumbnail URL. Omitted when unavailable.",
            "type": "string"
          },
          "approved": {
            "description": "Whether the image is community-approved. Omitted when unknown.",
            "type": "boolean"
          },
          "comment": {
            "description": "Editor comment on the image. Omitted when absent.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "front",
          "back",
          "types",
          "imageUrl"
        ],
        "additionalProperties": false,
        "description": "One cover-art image with its full URL and thumbnails."
      },
      "description": "Cover-art images (empty when the entity has no art)."
    },
    "hasArt": {
      "type": "boolean",
      "description": "Whether any cover art exists for this entity."
    },
    "notice": {
      "description": "Present when the entity has no art: states that no images exist, or — when the MBID could not be checked against MusicBrainz — that its existence is unconfirmed.",
      "type": "string"
    },
    "error": {
      "description": "Present when the call failed. Absent on success.",
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991,
          "description": "JSON-RPC error code for this failure."
        },
        "message": {
          "type": "string",
          "description": "Human-readable description of what went wrong."
        },
        "data": {
          "type": "object",
          "properties": {
            "reason": {
              "type": "string",
              "description": "Machine-readable failure mode. Declared by this tool: `invalid_mbid`: The MBID is malformed or the all-zeros sentinel — a value MusicBrainz rejects outright (HTTP 400). `entity_not_found`: The MBID is well-formed but no entity of the given entity_type exists with it (the archive returns 404 and the MusicBrainz check of the MBID returns 404). Other values are possible when a failure originates below the handler.",
              "examples": [
                "invalid_mbid",
                "entity_not_found"
              ]
            },
            "recovery": {
              "description": "Actionable next step for the caller.",
              "type": "object",
              "properties": {
                "hint": {
                  "type": "string"
                }
              },
              "required": [
                "hint"
              ],
              "additionalProperties": {}
            },
            "retryable": {
              "description": "Whether retrying may succeed.",
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        }
      },
      "required": [
        "code",
        "message"
      ],
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "anyOf": [
    {
      "not": {
        "required": [
          "error"
        ]
      },
      "required": [
        "mbid",
        "entityType",
        "images",
        "hasArt"
      ]
    },
    {
      "required": [
        "error"
      ]
    }
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet10 Tools
verifiziertVersion nicht aufgezeichnet10 Tools
verifiziertVersion nicht aufgezeichnet10 Tools