Skip to main content

musicbrainz-mcp-server

io.github.cyanheads/musicbrainz-mcp-serverVersion 0.3.0

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

Status

Responds542 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:48 UTC
Latency
542 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://musicbrainz.caseyjhand.com/mcpResponds542 ms
No sign-in

Claude Code

claude mcp add --transport http musicbrainz-mcp-server https://musicbrainz.caseyjhand.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: musicbrainz-mcp-server
Remote MCP server URL: https://musicbrainz.caseyjhand.com/mcp

Cursor

{
  "mcpServers": {
    "musicbrainz-mcp-server": {
      "url": "https://musicbrainz.caseyjhand.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"musicbrainz-mcp-server","type":"http","url":"https://musicbrainz.caseyjhand.com/mcp"}'
Streamable HTTP
npm: @cyanheads/musicbrainz-mcp-server 0.3.0
Package only

npm (npx)

claude mcp add musicbrainz-mcp-server -- npx -y @cyanheads/musicbrainz-mcp-server@0.3.0
Streamable HTTP
npm: @cyanheads/musicbrainz-mcp-server 0.3.0
Package only

npm (npx)

claude mcp add musicbrainz-mcp-server -- npx -y @cyanheads/musicbrainz-mcp-server@0.3.0

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

10 tools

Tools of musicbrainz-mcp-server
Read-only
Idempotent
Open world
musicbrainz_browse_entitiesPaginate entities linked to one parent MBID. Accepted parents by target: artist → area, recording, release, release-group, work; label → area, release; release-group → artist, release; release → area, artist, label, recording, release-group, track_artist; recording → artist, release, work; work → artist. track_artist enumerates releases crediting an artist on tracks but not at release level. Artist release-groups and release-group editions embed one upstream page in get_* lookups; use this tool for the complete entity set. Recording browse returns identities, not performance attributes/dates or ordered release tracks: use musicbrainz_get_recording for work relationships and musicbrainz_get_release for tracks. Provide exactly one valid parent link. offset pages to any depth; totalCount is the exact filtered upstream entity total. Optional type/status filters apply only on supported parent pairs; preserve applied filters on continuation. Release rows carry status, other entity subtypes use type; release-groups include secondaryTypes and recordings include firstReleaseDate when available.Not declaredYesYesYes
musicbrainz_get_artistArtist profile by MBID: type, country, life span, gender, area with areaId, birth/formation and death/dissolution areas, IPI/ISNI identifiers, aliases, tags/genres, release-groups, band-membership / collaboration relationships, and external links. Chain areaId into musicbrainz_browse_entities link.area. Release-groups embed one upstream page (25); relationships are not capped. For the complete release-group list, call musicbrainz_browse_entities with target_type=release-group and link.artist.Not declaredYesYesYes
musicbrainz_get_cover_artCover Art Archive images for a release or release-group MBID: front/back flags, image types, full-resolution URLs, and 250/500/1200px thumbnail URLs. limit defaults to 25 and clamps above 100; offset defaults to 0. Pages retain archive order, totalCount counts all images, and hasArt describes the full archive even on an empty page. Follow the notice for the next offset. No art is a successful empty result; an unknown MBID fails with entity_not_found after a bounded MusicBrainz check. A release-group resolves to a representative release's art. URLs are linked, never rehosted; image copyright stays with rights holders.Not declaredYesYesYes
musicbrainz_get_labelLabel by MBID: type (Original Production, Reissue, Imprint, …), country, life span, label code (the LC number), area and areaId, IPI/ISNI identifiers, aliases, tags, ownership/imprint/distribution relationships, and external links (url-rels — Wikidata, Discogs, official site). Chain areaId into musicbrainz_browse_entities link.area. 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).Not declaredYesYesYes
musicbrainz_get_recordingRecording (a specific performance, distinct from the abstract work) by MBID: length, artist credits, ISRCs, one upstream page of release appearances with completeness metadata, work relationships, and performer/production credits with attributes and dates. Relationships are not capped. Enumerate releases with musicbrainz_browse_entities (target_type=release, link.recording, offset=0); embedded and browse order may differ. Browse recording by work enumerates recording entities; this tool supplies their work relationship details.Not declaredYesYesYes
musicbrainz_get_releaseOne edition by MBID: ordered media with tracks, track-specific artist credits when supplied, lengths and recording MBIDs, label + catalog number, barcode, country, release date, packaging, text representation, external links, and a cover-art availability stub. media_offset (default 0) and media_limit (default 20, no maximum) select whole media after normalization; mediaTotal and trackTotal describe the full release. Follow the notice to retrieve remaining media. The release resource retains the complete raw tracklist. Track lengths are m:ss. For image URLs, call musicbrainz_get_cover_art.Not declaredYesYesYes
musicbrainz_get_release_groupRelease-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, external album links, 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.Not declaredYesYesYes
musicbrainz_get_workWork (a composition, distinct from a recording) by MBID: type, languages, ISWCs, ordered work attributes (rights-society registrations, musical key and other metadata), writers/composers/lyricists, movements, arrangements, aliases, tags, and external links. Attributes remain available when relationships are disabled. Follow work target MBIDs with this tool; direction, orderingKey, and targetDisambiguation distinguish parts and arrangements without reordering relationships. This server returns the first 25 recording relationships with their exact total and actual truncation disclosure, preserving all other relationships. Browse recording entities with musicbrainz_browse_entities (target_type=recording, link.work), then use musicbrainz_get_recording for work relationship attributes and dates; browse alone does not return those details.Not declaredYesYesYes
musicbrainz_lookup_identifierResolve 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.Not declaredYesYesYes
musicbrainz_search_entitiesFull-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, subtype where applicable, release status, release-group secondary types, recording first-release dates, and a 0–100 relevance score (100 = exact). Release rows use status; other entity subtypes use type. 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`). Only the first 500 matches are accessible; narrow the query or use musicbrainz_browse_entities for complete linked sets.Not declaredYesYesYes

Details

Registry status
Active
Published
Nov 3, 2026
Updated
Nov 3, 2026
Website
Not given
Categories (suggested)
Search and webSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing