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:
{
"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.