# MusicBrainz MCP

> MusicBrainz connects your AI client directly to the world's largest open music database. Use it to search and catalog artists, albums, tracks, labels, and musical compositions by running natural language queries through specific tools. No API key is required; just talk to your agent about music metadata.

## Overview
- **Category:** audio-music
- **Price:** Free
- **Tags:** music-metadata, artist-database, discography, music-catalog, open-data

## Description

Listen up. This server connects your AI client right to MusicBrainz, which is basically the world’s biggest open database for music metadata. You ain't gotta mess with any API keys or nothing—you just talk to your agent about music, and it handles the rest.

**Identifying Artists & Works**

Ya can get detailed profiles on artists using `get_artist` if you feed it their unique MBID; this pulls up aliases and all their related works. Need to track down a band? Use `search_artists` with advanced queries, which returns names, types, and even active date ranges—you'll get up to 100 results. If you’re hunting for the original composition itself—the actual 'work,' separate from any recording—run `search_works`; this lets you find details by title or writer, giving you the ISWC code and identifying the original writers.

**Tracking Releases & Recordings**

To scope out an album version, start with `search_releases`, which lets you filter albums using criteria like country, label name, or if it's marked as official or a bootleg. Once you have a specific album MBID, `get_release` pulls all the deep details: track listings, labels involved, and artists credited. You can also use `search_recordings` to find individual tracks using keywords; this returns titles, artists, durations, and ISRCs, capped at 100 results. For a single recording's full data dump—including its ISRC codes and which albums it belongs to—use `get_recording` with the MBID. If you wanna track down EPs or singles that span multiple releases, check out `get_release_group`, which uses an MBID to get info on canonical groups of albums or singles.

**Mapping Labels & Sources**

Need to know about a record company? `search_labels` lets you hunt for labels by name or type, spitting out country details and founding dates. If you have the label’s unique MBID, `get_label` gives you detailed info, including its type and when it was founded. For finding specific album versions from a source, run `browse_releases_by_label`, which lists all releases tied to that record company, detailing artists, dates, and countries. Conversely, if an artist is the focus, use `browse_releases_by_artist` to list every single album release for them, showing titles, dates, countries, and labels.

**Pinpointing Locations & Groups**

If you gotta filter your searches by geography, run `search_areas`; this pulls up official IDs for places like countries or cities that you can then feed into other searches. To find the definitive version of an album group—say, a canonical single or EP—use `search_release_groups` with just the title and artist name.

**How Ya Use It**

You don't gotta build complex queries. You just tell your agent what you need. For example, if you ask it to 'find all Pink Floyd albums from 1973,' your AI client runs `search_releases` through the right filters and spits out structured data directly in the chat. If you wanna know about a track's history, you just say, 'what are the details for this recording MBID?' and it hits the database. It’s all about natural language input; the agent handles the metadata lookup.

## Tools

### browse_releases_by_artist
Lists all album releases for a specific artist, showing titles, dates, countries, and labels.

### browse_releases_by_label
Lists all album releases from a specific record label, detailing artists, dates, and countries.

### get_artist
Retrieves detailed information for an artist by their unique MBID, including aliases and related works.

### get_label
Gets detailed info about a record label using its MBID, including its founding date and type.

### get_recording
Retrieves data for an individual track recording by MBID, including ISRCs and the albums it appears on.

### get_release
Gets detailed information about a specific album release by MBID, listing tracks, labels, and artists.

### get_release_group
Retrieves info for canonical groups of albums or singles using an MBID, useful for tracking EPs.

### get_work
Gets details on a musical composition itself by MBID, identifying the original writers and ISWC code.

### search_areas
Searches for geographic areas—like countries or cities—to get their official IDs for filtering other searches.

### search_artists
Finds music artists using advanced search queries, returning names, types, and active dates (max 100 results).

### search_labels
Searches for record labels by name or type, providing country details and founding dates.

### search_recordings
Finds individual track recordings using keywords, returning titles, artists, durations, and ISRCs (max 100 results).

### search_release_groups
Searches for canonical album or single groups by title and artist to find the official version.

### search_releases
Finds specific album releases using filters like country, label, or status (official/bootleg).

### search_works
Searches for musical compositions (the 'work') by title or writer, separate from any recording.

## Prompt Examples

**Prompt:** 
```
Search for the band Radiohead.
```

**Response:** 
```
Found Radiohead (MBID: a74b1b7f-71a5-4011-9441-d0b5e4122711). Type: Group. Country: United Kingdom. Active: 1985-present. Genres: Alternative rock, electronic, experimental.
```

**Prompt:** 
```
Show me all albums by Miles Davis.
```

**Response:** 
```
Found 200+ releases by Miles Davis. Notable albums: 'Kind of Blue' (1959), 'Bitches Brew' (1970), 'Sketches of Spain' (1960), 'Miles Ahead' (1957), 'Birth of the Cool' (1957). Includes official releases, compilations and reissues.
```

**Prompt:** 
```
Search for the recording of 'Bohemian Rhapsody' by Queen.
```

**Response:** 
```
Found 'Bohemian Rhapsody' by Queen. Duration: 5:55. ISRC: GBAHK7500018. First released on 'A Night at the Opera' (1975). Multiple versions exist including single edit and remastered versions.
```

## Capabilities

### Identify Artists
Get detailed profiles for artists, including their type, country of origin, active date range, and aliases.

### Locate Album Releases
Search for specific album versions, returning the title, release date, label name, and track count.

### Find Specific Recordings
Pull metadata on a single track recording, including its duration, ISRC code, and which albums it belongs to.

### Trace Label History
Get detailed information about record labels, including their founding date and country of operation.

### Map Musical Works
Find the metadata for a composition itself (the 'work'), separate from any recorded version.

## Use Cases

### Verifying a Band's Full History
A music journalist is writing about the evolution of a group. They ask their agent to run `search_artists` for 'The Who.' The agent returns the MBID and basic stats, which they then feed into `browse_releases_by_artist`. This gives them a chronological list of every release date and label, ensuring no album is missed.

### Cataloging Rare Tracks
A collector finds an obscure track. Instead of searching general forums, they use `search_recordings` with the song title and approximate duration. The agent returns the ISRC code, which can then be used to run `get_release` for all known parent albums.

### Building a Label Profile
You need data on an indie label's history. You use `search_labels` to verify the official name and founding date. Then, you run `browse_releases_by_label` to pull every artist associated with that label into one document.

### Tracking Original Compositions
You are researching a composer's body of work. You use `search_works` first, which identifies the composition itself (the 'work'). This lets you track the original notes and writers without getting confused by hundreds of different recorded versions.

## Benefits

- **Deep Artist Profiles:** Use `get_artist` to pull comprehensive data on any musician, including all known aliases and their full life span. You don't have to piece together these facts manually.
- **Discography Mapping:** Need a complete list of an artist’s works? Running `browse_releases_by_artist` provides every album release across multiple countries and labels in one go.
- **Composition vs. Recording:** The server separates the 'work' from the recording via `get_work`. This lets you track the original composition (like a symphony) even if the specific recordings change.
- **Targeted Searching:** Don't sift through junk data. Use `search_recordings` or `search_releases` to filter results immediately by ISRC, country, or status (e.g., only bootlegs).
- **Label Context:** Quickly establish a label’s history and scope using `get_label`. You find the founding date and type without leaving your chat window.
- **Structured Discovery:** The tools allow you to map out complex relationships—for instance, finding an album group via `search_release_groups` before pulling specific release details with `get_release`.

## How It Works

The bottom line is you get clean, structured music data from a massive global encyclopedia without writing complex API calls.

1. Subscribe to this server. No API key setup is needed.
2. Ask your AI client a natural language query, like "Show me all albums for The Beatles in the UK."
3. The agent selects and runs the appropriate tool (e.g., `search_releases`), delivering structured results directly into your chat.

## Frequently Asked Questions

**How do I search for an artist's discography using the get_artist tool?**
The `get_artist` tool provides comprehensive details, but to see all their albums, you should pair it with `browse_releases_by_artist`. This combination gives you a full list of releases and labels.

**Is there a way to find an album group without knowing the exact release ID?**
Yes. Use `search_release_groups` first. It helps you locate the canonical or official grouping for albums, singles, or EPs before you look up specific releases.

**Can I search by label name and get all associated artists?**
Yes, run `search_labels` to find the correct label ID. Then use that ID with `browse_releases_by_label` to pull every artist linked to that record label.

**What is the difference between search_works and get_work?**
The `search_works` tool finds potential works based on titles or writers. The `get_work` tool requires you to provide a specific MBID so it can retrieve all confirmed details for that single composition.

**Do I need an API key or special credentials when calling `search_artists`?**
Nope, you don't need any keys. Vinkius handles authentication for the whole server. Just connect your AI client and start using the tool; it works immediately.

**If I use `search_releases`, how do I handle pagination when I expect more than 100 results?**
The tools return a maximum of 100 records per call. You'll need to run the tool multiple times, using the provided offset or next page ID from the response payload each time.

**What is the best way to find a specific track version using `search_recordings`?**
You should use the ISRC (International Standard Recording Code) as your primary search parameter. This lets you pinpoint an exact recording, regardless of which album it appears on.

**What's the difference between running `search_artists` and calling `get_artist`?**
`search_artists` finds candidates using keywords, returning a list of potential IDs. Use `get_artist` when you already have an Artist MBID; it pulls all detailed data for that single ID.

**Do I need an API key?**
No! MusicBrainz is completely free and open. No authentication required. Just subscribe and start searching. Rate limit is 1 request per second.

**What is an MBID?**
MBID stands for MusicBrainz Identifier — a unique UUID assigned to every entity in the database (artists, releases, recordings, labels, works). Use search tools to find MBIDs, then use get_* tools with the MBID for detailed info.

**What's the difference between a release and a release group?**
A release is a specific physical or digital version of an album (e.g. the 2012 remastered CD). A release group groups all versions of the same album together (e.g. "The Dark Side of the Moon" as a canonical work). Use release groups for finding the canonical album.