accueil / serveurs / Recherche & Web / io.github.cyanheads/musicbrainz-mcp-server
io.github.cyanheads/musicbrainz-mcp-server
serveur MCP (Model Context Protocol) · musicbrainz-mcp-server 0.2.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.cyanheads/musicbrainz-mcp-server est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.cyanheads/musicbrainz-mcp-server » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 10 outils
- musicbrainz_browse_entities≈ 1838 tokens
Paginate entities linked to one parent MBID: release-groups by artist; releases by artist, label, release-group, or recording; recordings by artist, work, or release; works by artist; artists/labels by area. 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 upstream entity total. Release rows carry status, other entity subtypes use type.
Paramètres, retour & exemple (4)
Paramètreslink· object · requis
Exactly one parent MBID. The valid key depends on target_type (see the description).limit· integer · optionnel
Page size (1–100).offset· integer · optionnel
Result offset for deep pagination (0-based).target_type· string · requis · artist | release-group | release | recording | work | label
The entity type to enumerate (the children).
Exemple d'appel{"name": "musicbrainz_browse_entities", "arguments": {"link": {}, "target_type": "artist"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "error": {}, "shown": 1, "notice": "texte", "offset": 1, "entities": [], "linkMbid": "texte", "linkType": "texte", "truncated": true, "targetType": "texte", "totalCount": 1}} - musicbrainz_get_artist≈ 2136 tokens
Artist profile by MBID: type, country, life span, gender, area, aliases, tags/genres, release-groups, band-membership / collaboration relationships, and external links. 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.
Paramètres, retour & exemple (3)
Paramètresmbid· string · requis
Artist MBID (hyphenated hexadecimal UUID; surrounding whitespace and uppercase accepted).inc_relationships· boolean · optionnel
Include band-membership / collaboration relationships and external links (url-rels).inc_release_groups· boolean · optionnel
Include the discography (release-groups). Capped at one page; use browse for the full set.
Exemple d'appel{"name": "musicbrainz_get_artist", "arguments": {"mbid": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "area": "texte", "mbid": "texte", "name": "texte", "tags": [], "type": "texte", "error": {}, "shown": 1, "gender": "texte", "notice": "texte", "aliases": [], "country": "texte"}} - musicbrainz_get_cover_art≈ 1237 tokens
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).
Paramètres, retour & exemple (2)
Paramètresmbid· string · requis
Release or release-group MBID (hyphenated hexadecimal UUID; surrounding whitespace and uppercase accepted).entity_type· string · optionnel · release | release-group
Whether the MBID is a release (default) or a release-group.
Exemple d'appel{"name": "musicbrainz_get_cover_art", "arguments": {"mbid": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"mbid": "texte", "error": {}, "hasArt": true, "images": [], "notice": "texte", "entityType": "texte", "representativeRelease": "texte"}} - musicbrainz_get_label≈ 1334 tokens
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).
Paramètres, retour & exemple (1)
Paramètresmbid· string · requis
Label MBID (hyphenated hexadecimal UUID; surrounding whitespace and uppercase accepted).
Exemple d'appel{"name": "musicbrainz_get_label", "arguments": {"mbid": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"area": "texte", "mbid": "texte", "name": "texte", "tags": [], "type": "texte", "error": {}, "aliases": [], "country": "texte", "lifeSpan": {}, "sortName": "texte", "labelCode": 1, "externalLinks": []}} - musicbrainz_get_recording≈ 1662 tokens
Recording (a specific performance, distinct from the abstract work) by MBID: length, artist credits, ISRCs, release appearances, work relationships, and performer/production credits with attributes and dates. Relationships are not capped. Browse release appearances with musicbrainz_browse_entities (target_type=release, link.recording). Browse recording by work enumerates recording entities; this tool supplies their work relationship details.
Paramètres, retour & exemple (2)
Paramètresmbid· string · requis
Recording MBID (hyphenated hexadecimal UUID; surrounding whitespace and uppercase accepted).inc_relationships· boolean · optionnel
Include performance/production relationships (performers, producers, engineers) and work-rels.
Exemple d'appel{"name": "musicbrainz_get_recording", "arguments": {"mbid": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"mbid": "texte", "error": {}, "isrcs": [], "title": "texte", "length": "texte", "releases": [], "artistCredit": [], "externalLinks": [], "relationships": [], "disambiguation": "texte", "firstReleaseDate": "texte", "artistCreditString": "texte"}} - musicbrainz_get_release≈ 1772 tokens
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.
Paramètres, retour & exemple (1)
Paramètresmbid· string · requis
Release MBID (hyphenated hexadecimal UUID; surrounding whitespace and uppercase accepted).
Exemple d'appel{"name": "musicbrainz_get_release", "arguments": {"mbid": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"date": "texte", "mbid": "texte", "error": {}, "media": [], "title": "texte", "script": "texte", "status": "texte", "barcode": "texte", "country": "texte", "coverArt": {}, "language": "texte", "labelInfo": []}} - musicbrainz_get_release_group≈ 1749 tokens
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.
Paramètres, retour & exemple (1)
Paramètresmbid· string · requis
Release-group MBID (hyphenated hexadecimal UUID; surrounding whitespace and uppercase accepted).
Exemple d'appel{"name": "musicbrainz_get_release_group", "arguments": {"mbid": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "mbid": "texte", "tags": [], "error": {}, "shown": 1, "title": "texte", "notice": "texte", "coverArt": {}, "releases": [], "truncated": true, "primaryType": "texte", "artistCredit": []}} - musicbrainz_get_work≈ 1754 tokens
Work (a composition, distinct from a recording) by MBID: type, languages, ISWCs, writers/composers/lyricists, aliases, tags, and external links. 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.
Paramètres, retour & exemple (2)
Paramètresmbid· string · requis
Work MBID (hyphenated hexadecimal UUID; surrounding whitespace and uppercase accepted).inc_relationships· boolean · optionnel
Include writer/composer relationships, recording relationships, and external links.
Exemple d'appel{"name": "musicbrainz_get_work", "arguments": {"mbid": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "mbid": "texte", "tags": [], "type": "texte", "error": {}, "iswcs": [], "shown": 1, "title": "texte", "notice": "texte", "aliases": [], "languages": [], "truncated": true}} - musicbrainz_lookup_identifier≈ 1499 tokens
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.
Paramètres, retour & exemple (2)
Paramètresvalue· string · requis
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).id_type· string · requis · isrc | iswc | barcode
Which standard identifier: isrc (recording), iswc (work), or barcode (release).
Exemple d'appel{"name": "musicbrainz_lookup_identifier", "arguments": {"value": "texte", "id_type": "isrc"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "result": "texte"}} - musicbrainz_search_entities≈ 1306 tokens
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, 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`).
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnel
Maximum results to return (1–100).query· string · requis
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.offset· integer · optionnel
Result offset for pagination (0-based).entityType· string · requis · artist | release-group | release | recording | work | label
Which entity type to search.
Exemple d'appel{"name": "musicbrainz_search_entities", "arguments": {"query": "texte", "entityType": "artist"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "notice": "texte", "results": [], "entityType": "texte", "totalCount": 1, "effectiveQuery": "texte"}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».