An MCP server for querying MusicBrainz metadata: it can search, look up, and browse artists, releases, recordings, works, and labels, resolve ISRC/ISWC/barcode identifiers, and fetch cover art. It supports STDIO and Streamable HTTP transports.
From the registry: Search MusicBrainz artists, releases, works, labels; resolve ISRC/ISWC/barcode; fetch cover art.
Please install the `musicbrainz-mcp-server` MCP server into my current AI client (that's you).
Required prerequisites (do these first if not already done):
- **Install Node.js** — Node.js v24+ is required to run the server via npx, which is the simplest portable installation path. (https://nodejs.org/)
Optional prerequisites:
- Optional MusicBrainz contact — MusicBrainz requires a descriptive User-Agent with contact information. The server works out of the box with a default contact, but operators of shared or hosted deployments should set MUSICBRAINZ_CONTACT to their own email or URL.
Canonical MCP server config (stdio transport):
- command: `npx`
- args: ["-y","@cyanheads/musicbrainz-mcp-server@latest"]
- required environment variables:
- `MCP_TRANSPORT_TYPE`: Transport type for MCP. Set to stdio for local MCP client integration. (example: `stdio`)
- optional environment variables:
- `MCP_LOG_LEVEL`: Log level in RFC 5424 format. (example: `info`)
- `MUSICBRAINZ_CONTACT`: Contact email or URL embedded in the User-Agent. Recommended for shared or hosted deployments; the server has a built-in default so it is not required for basic local use. (example: `<your-email-or-url>`)
- `MUSICBRAINZ_BASE_URL`: Override the MusicBrainz Web Service v2 base URL, for example to use a private mirror or beta endpoint. (example: `<your-musicbrainz-base-url>`)
- `MUSICBRAINZ_RATE_LIMIT_RPS`: Client-side request-per-second ceiling for upstream MusicBrainz requests. (example: `<your-rate-limit-rps>`)
- `MUSICBRAINZ_CACHE_TTL`: Response cache TTL in seconds. Set to 0 to disable caching. (example: `<your-cache-ttl-seconds>`)
- `MUSICBRAINZ_TIMEOUT_MS`: Per-request HTTP timeout in milliseconds. (example: `<your-timeout-ms>`)
- `MUSICBRAINZ_MAX_RETRIES`: Retry attempts for transient upstream failures. (example: `<your-max-retries>`)
- `COVER_ART_BASE_URL`: Override the Cover Art Archive base URL. (example: `<your-cover-art-base-url>`)
- `MCP_AUTH_MODE`: Authentication mode. Supported values: none, jwt, oauth. (example: `<none-or-jwt-or-oauth>`)
- `OTEL_ENABLED`: Enable OpenTelemetry instrumentation. (example: `<true-or-false>`)
Note: The README also supports Streamable HTTP. A public hosted instance is available at https://musicbrainz.caseyjhand.com/mcp, or you can self-host over HTTP by setting MCP_TRANSPORT_TYPE=http and MCP_HTTP_PORT, then serving the endpoint at /mcp. Canonical stdio config is preferred here because the README provides a direct npx-based local install path.
Add this MCP server to my current client's config in the correct format for you. If you need secrets or credentials I haven't provided, ASK me — do not invent values or leave raw placeholders. After adding it, tell me how to verify the server is connected.MUSICBRAINZ_CONTACTrequiredContact email or URL used in the MusicBrainz User-Agent string to comply with their API requirements.MCP server for searching Airweave collections with natural language queries.