MCP server for MusicBrainz — search/browse music metadata, cover art, and submit your own tags, ratings, and collections
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
git clone https://github.com/chrischall/musicbrainz-mcp{
"mcpServers": {
"musicbrainz-mcp": {
"command": "node",
"args": ["/path/to/musicbrainz-mcp/dist/index.js"],
"env": {
"MUSICBRAINZ_OAUTH_CLIENT_SECRET": "<musicbrainz_oauth_client_secret>",
"MUSICBRAINZ_OAUTH_REFRESH_TOKEN": "<musicbrainz_oauth_refresh_token>"
}
}
}
}MUSICBRAINZ_OAUTH_CLIENT_SECRETMUSICBRAINZ_OAUTH_REFRESH_TOKENMCP Servers overview
# musicbrainz-mcp
[](https://github.com/chrischall/musicbrainz-mcp/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/musicbrainz-mcp)
[](LICENSE)
An MCP server for [MusicBrainz](https://musicbrainz.org), the open music encyclopedia. It gives Claude live access to MusicBrainz metadata — artists, releases, recordings, labels, works, and more — plus Cover Art Archive images, and (optionally) lets you submit your own tags, ratings, and collection edits.
> Developed and maintained by AI (Claude Code). Use at your own discretion.
## Tools
**Read (no credentials required):**
| Tool | What it does |
| --- | --- |
| `musicbrainz_search` | Search any entity type with a Lucene query; returns ranked matches + MBIDs |
| `musicbrainz_lookup` | Look up an entity by MBID, with `inc` subqueries for linked data |
| `musicbrainz_browse` | List all entities linked to another (e.g. every release by an artist) |
| `musicbrainz_cover_art` | Cover Art Archive image URLs for a release / release-group |
| `musicbrainz_resolve` | Turn a pasted musicbrainz.org URL into its entity |
| `musicbrainz_healthcheck` | Verify connectivity and whether OAuth writes are configured |
**Write (OAuth, confirm-gated):**
| Tool | What it does |
| --- | --- |
| `musicbrainz_submit_tags` | Apply user tags to an entity on your account |
| `musicbrainz_submit_rating` | Set your 0–100 rating for an entity |
| `musicbrainz_modify_collection` | Add/remove entities in one of your collections |
Each write makes **no** network call without `confirm: true`; it returns a dry-run preview first.
Every read above takes a `view`, except `musicbrainz_cover_art`. It defaults to
`compact`, which strips image and avatar URLs — a subtractive rule, so it cannot
drop a field nobody knew was there; `view: "full"` returns MusicBrainz's payload
untouched. `musicbrainz_cover_art` takes none on purpose: the image URLs *are*
its answer, and stripping them would not shrink the response, it would empty it.
## Install
This is a Node MCP server (stdio). Point your MCP host at it:
```json
{
"mcpServers": {
"musicbrainz": {
"command": "npx",
"args": ["-y", "musicbrainz-mcp"]
}
}
}
```
Reads work immediately. MusicBrainz asks clients to make **at most one request per second** — the server throttles itself to stay within that limit, so large browses are paced automatically.
## Enabling the write tools (optional)
1. Register an application at [musicbrainz.org/account/applications](https://musicbrainz.org/account/applications) (redirect URI `urn:ietf:wg:oauth:2.0:oob`).
2. Complete the OAuth flow with the `tag`, `rating`, and `collection` scopes to obtain a **refresh token**.
3. Provide these via your MCP host's env (or a local `.env`):
```
MUSICBRAINZ_OAUTH_CLIENT_ID=...
MUSICBRAINZ_OAUTH_CLIENT_SECRET=...
MUSICBRAINZ_OAUTH_REFRESH_TOKEN=...
```
## Development
```bash
npm install
npm run build
npm test
```
See [CLAUDE.md](CLAUDE.md) for architecture and [docs/MUSICBRAINZ-API.md](docs/MUSICBRAINZ-API.md) for the pinned API shapes.
## License
MIT. Data from MusicBrainz, licensed under [CC0 / CC BY-NC-SA](https://musicbrainz.org/doc/About/Data_License).
What people ask about musicbrainz-mcp
What is chrischall/musicbrainz-mcp?
+
chrischall/musicbrainz-mcp is mcp servers for the Claude AI ecosystem. MCP server for MusicBrainz — search/browse music metadata, cover art, and submit your own tags, ratings, and collections It has 0 GitHub stars and its last recorded update is dated 2026-09-10.
How do I install musicbrainz-mcp?
+
You can install musicbrainz-mcp by cloning the repository (https://github.com/chrischall/musicbrainz-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is chrischall/musicbrainz-mcp safe to use?
+
Our security agent has analyzed chrischall/musicbrainz-mcp and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.
Who maintains chrischall/musicbrainz-mcp?
+
chrischall/musicbrainz-mcp is maintained by chrischall. The last recorded GitHub activity is dated 2026-09-10, with 0 open issues.
Are there alternatives to musicbrainz-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy musicbrainz-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/chrischall-musicbrainz-mcp)<a href="https://claudewave.com/repo/chrischall-musicbrainz-mcp"><img src="https://claudewave.com/api/badge/chrischall-musicbrainz-mcp" alt="Featured on ClaudeWave: chrischall/musicbrainz-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!