Skip to main content
Glama
chrischall

musicbrainz-mcp

by chrischall

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MUSICBRAINZ_OAUTH_CLIENT_IDNoOAuth client ID for write tools
MUSICBRAINZ_OAUTH_CLIENT_SECRETNoOAuth client secret for write tools
MUSICBRAINZ_OAUTH_REFRESH_TOKENNoOAuth refresh token for write tools

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
musicbrainz_lookupA

Fetch a single MusicBrainz entity (artist, release, recording, release-group, label, work, area, place, event, instrument, series, genre, url) by its MBID. Use inc to pull linked sub-entities and relationships, e.g. inc: ["releases","release-groups"] on an artist, or ["recordings","labels"] on a release, or ["artist-credits","url-rels"] on most entities. Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.

musicbrainz_searchA

Search a MusicBrainz entity type with a Lucene query and get back ranked matches with their MBIDs. Plain text matches the entity name; fielded Lucene also works, e.g. artist:"Miles Davis" AND country:US, release:"Kind of Blue" AND format:Vinyl, or recording:"So What" AND dur:[540000 TO 560000]. Feed a returned MBID into musicbrainz_lookup for full detail. Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.

musicbrainz_browseA

List all entities of one type directly linked to a given entity — e.g. every release by an artist (entity: "release", linkedBy: "artist", mbid: ), recordings on a release, releases in a collection, or events at a place. This is the complete, paged set for a relationship (unlike search, which ranks fuzzy matches). Use inc for extra detail and limit/offset to page (max 100/page). Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.

musicbrainz_cover_artA

Fetch Cover Art Archive image metadata for a release or release-group MBID — front/back cover URLs, thumbnails, and image types. Returns the image URLs (you can open or download them); it does not embed the bytes. Errors clearly when no art exists for the MBID. Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.

musicbrainz_resolveA

Turn a musicbrainz.org URL (e.g. https://musicbrainz.org/artist/ or /release-group/) into the underlying entity by extracting its type + MBID and looking it up. Handy when a user pastes a MusicBrainz link. Pass inc to include linked sub-entities. Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.

musicbrainz_healthcheckA

Confirm the MusicBrainz API is reachable (and our User-Agent accepted) by looking up a stable entity, and report whether the OAuth write path is configured. Reports {ok, reachable, oauth_configured} with a plain-English hint. Read-only.

musicbrainz_submit_tagsA

Apply user tags to a MusicBrainz entity on YOUR account (needs OAuth: MUSICBRAINZ_OAUTH_* with the tag scope). Default vote: upvote adds the tags; downvote opposes them; withdraw removes your vote. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). The preview shows the exact XML; nothing is sent before confirmation. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.

musicbrainz_submit_ratingA

Set YOUR rating for a MusicBrainz entity (needs OAuth: MUSICBRAINZ_OAUTH_* with the rating scope). Rating is 0–100 (MusicBrainz shows it as 1–5 stars in steps of 20; 0 removes your rating). Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Nothing is sent before confirmation. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.

musicbrainz_modify_collectionA

Add or remove entities (releases, artists, recordings, release-groups, works, labels, places, areas, events) in one of YOUR MusicBrainz collections (needs OAuth: MUSICBRAINZ_OAUTH_* with the collection scope). Get the collection MBID from its URL (musicbrainz.org/collection/). Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Nothing is changed before confirmation. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: search, lookup by MBID, browse relationships, resolve URLs, cover art, health check, and three separate write operations (tags, rating, collections). No two tools overlap in function.

Naming Consistency4/5

All tools share the 'musicbrainz_' prefix and snake_case, and most are verb-led (browse, lookup, search, resolve, submit_tags, submit_rating, modify_collection). 'cover_art' and 'healthcheck' are nouns, creating a minor deviation from the verb-first pattern.

Tool Count5/5

Nine tools is well-scoped for a MusicBrainz client, covering read operations (search, lookup, browse, resolve, cover art, health check) and user-modifying operations (tags, ratings, collections) without unnecessary bloat.

Completeness4/5

The core read workflows and common user write actions are covered. Minor gaps include no way to list a user's own collections and no entity creation/editing, but these are edge use cases for a typical music lookup agent.

Maintenance

ActivityActive
ResponsivenessUnresponsive