# musicbrainz-mcp [Health: Active]

**Category:** 🎨 Art & Culture  
**Repository:** https://github.com/chrischall/musicbrainz-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 2827  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/musicbrainz-mcp

## Description
MusicBrainz MCP — search/browse music metadata, cover art, and submit tags/ratings/collections

## Tools
Capabilities this server exposes over MCP:

- **musicbrainz_lookup** — 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. Your own tags/ratings (inc: ["user-tags"], ["user-ratings"], …) need OAuth (MUSICBRAINZ_OAUTH_*). Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.
- **musicbrainz_search** — 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_browse** — List all entities of one type directly linked to a given entity — e.g. every release by an artist (entity: "release", linkedBy: "artist", mbid: <artist>), recordings on a release, releases in a collection (a private collection needs OAuth: MUSICBRAINZ_OAUTH_*), 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_art** — 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_resolve** — Turn a musicbrainz.org URL (e.g. https://musicbrainz.org/artist/<mbid> or /release-group/<mbid>) 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_healthcheck** — 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_tags** — 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_rating** — 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_collection** — 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/<mbid>). 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.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "musicbrainz-mcp": {
    "command": "npx",
    "args": ["-y","musicbrainz-mcp"]
  }
}
```

## Documentation

## What musicbrainz-mcp MCP server does

The musicbrainz-mcp MCP server gives an MCP client access to MusicBrainz, an open music encyclopedia, along with Cover Art Archive image URLs. It covers common entity types such as artists, releases, recordings, labels, and works. The server supports both read operations and optional account-based changes.

Read tools can search MusicBrainz with Lucene queries, retrieve an entity by MusicBrain ID (MBID), enumerate entities connected to another entity, resolve a pasted MusicBrainz URL, return cover-art URLs, and check service connectivity. Write tools can apply tags, set a personal rating from 0 to 100, or add and remove entities from one of the user’s collections.

## How it works

The musicbrainz-mcp MCP server runs as a Node-based stdio process. An MCP host starts it with `npx`, then exposes its tools to the connected agent. Read requests work without an account or credentials.

Most read tools accept a `view` option. The default `compact` view removes image and avatar URLs, while `full` returns the MusicBrainz response without that reduction. The cover-art tool does not use `view`, because its result consists of the image URLs themselves.

Requests to MusicBrainz are automatically paced at no more than one per second. This applies to larger browse operations as well as individual requests, helping the server follow MusicBrainz’s stated request limit.

Write operations use MusicBrainz OAuth. Before submitting a change, the server requires confirmation. Depending on the client, this is either an interactive prompt or a two-step preview-and-confirm flow using a temporary token. Changing arguments between the preview and confirmation invalidates the token.

## Setup and configuration

Add the stdio server to an MCP host with a configuration equivalent to:

```json
{
  "mcpServers": {
    "musicbrainz": {
      "command": "npx",
      "args": ["-y", "musicbrainz-mcp"]
    }
  }
}
```

This configuration is sufficient for read-only use. To enable writes, register an application with MusicBrainz using the out-of-band redirect URI, complete OAuth with the `tag`, `rating`, and `collection` scopes, and provide a client ID, client secret, and refresh token through the host environment or a local `.env` file.

Confirmation behavior can be adjusted with `MCP_CONFIRM_MODE`, `MCP_CONFIRM_ELICITATION`, `MCP_CONFIRM_TTL_SECONDS`, and `MCP_CONFIRM_SECRET`. These settings control how clients without interactive prompts handle previews, whether elicitation is used, token lifetime, and whether confirmation tokens remain valid across restarts.

## Tools and capabilities

The musicbrainz-mcp MCP server provides these tools:

- `musicbrainz_search`: Run a Lucene search across an entity type and return ranked results with MBIDs.
- `musicbrainz_lookup`: Fetch an entity by MBID, optionally including linked data with `inc` subqueries.
- `musicbrainz_browse`: List entities related to another entity, such as releases associated with an artist.
- `musicbrainz_cover_art`: Return Cover Art Archive image URLs for a release or release group.
- `musicbrainz_resolve`: Convert a MusicBrainz URL into its corresponding entity.
- `musicbrainz_healthcheck`: Check connectivity and whether OAuth write configuration is present.
- `musicbrainz_submit_tags`: Add user tags to an entity.
- `musicbrainz_submit_rating`: Set the user’s rating for an entity.
- `musicbrainz_modify_collection`: Add or remove entities from a user collection.

## Limitations and notes

Write tools are optional and unavailable for authenticated changes until OAuth is configured. Every write requires confirmation, and clients differ in how that confirmation is presented. Read and browse activity is subject to the one-request-per-second pacing enforced by the server.

The software is MIT-licensed. MusicBrainz data is identified in the project as available under CC0 or CC BY-NC-SA terms.

_Full upstream README: https://allmcps.com/mcp/musicbrainz-mcp/readme_

