musicbrainz-mcp-server

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

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
100%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~12,853token 数(工具定义)
~15.0 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 10.04%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

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

可运行的软件包

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

远程端点

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

它能做什么

工具清单

工具(10)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢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`).

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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).

输入模式

{
  "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
}

输出模式

{
  "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).

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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.

输入模式

{
  "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
}

输出模式

{
  "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).

输入模式

{
  "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
}

输出模式

{
  "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"
      ]
    }
  ]
}

社区

评价此服务器

证据

最近观测

已验证未记录版本10 个工具
已验证未记录版本10 个工具
已验证未记录版本10 个工具