MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Code & DevOps

io.github.cyanheads/musicbrainz-mcp-server

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

Checks passed
14 / 22

0 failed · 8 not measured

Median response
1051 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
10

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
402

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 1051 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name musicbrainz-mcp-server.

  • Pass
    Lists tools

    tools/list returned 10 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 1051 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 1051 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    38 of 38 parameters have a description (100%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Not measured
    Website matches publisher

    This namespace is not a reverse domain, so the website comparison does not apply.

  • Pass
    Source repo linked

    A repository URL is on file.

  • Pass
    Repo owner matches

    The GitHub repository owner matches the namespace login.

  • Pass
    Recently updated

    Updated 2026-11-03T08:28:48.3581Z, within 180 days.

  • Not measured
    Open-source licence

    The GitHub licence lookup has not returned an OSI result yet.

Start using io.github.cyanheads/musicbrainz-mcp-server

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

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

Capabilities

Tools 10

musicbrainz_browse_entities

Paginate 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.

Discovered
musicbrainz_get_artist

Artist 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.

Discovered
musicbrainz_get_cover_art

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

Discovered
musicbrainz_get_label

Label 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).

Discovered
musicbrainz_get_recording

Recording (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.

Discovered
musicbrainz_get_release

One 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.

Discovered
musicbrainz_get_release_group

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, 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.

Discovered
musicbrainz_get_work

Work (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.

Discovered
musicbrainz_lookup_identifier

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.

Discovered
musicbrainz_search_entities

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, 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.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected1051 ms10