get_artist_discography
Retrieve complete artist discographies with paginated release groups from the MusicBrainz database. Use to access full catalog listings beyond initial results.
Instructions
Get a paged discography (release groups) for an artist. Use this for complete discographies; get_artist_details only shows the first 10. Args: artist_id: The MBID limit: Max results (default 25) offset: Paging offset
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| artist_id | Yes | ||
| limit | No | ||
| offset | No |
Implementation Reference
- mcp_musicbrainz/server.py:402-428 (handler)Implementation of the get_artist_discography tool, which retrieves a paginated list of release groups for a given artist using musicbrainzngs.browse_release_groups.
def get_artist_discography( artist_id: str, limit: int = 25, offset: int = 0, ) -> str: """ Get a paged discography (release groups) for an artist. Use this for complete discographies; get_artist_details only shows the first 10. Args: artist_id: The MBID limit: Max results (default 25) offset: Paging offset """ res = musicbrainzngs.browse_release_groups( artist=artist_id, limit=min(limit, 100), offset=offset, release_group_includes=["releases"], ) items = res.get("release-group-list", []) count = res.get("release-group-count", len(items)) lines = [f"Discography for artist {artist_id} (Showing {len(items)} of {count}):"] for i in items: rtype = i.get("type", "Unknown") date = i.get("first-release-date", "????") lines.append(f"- {i['title']} ({date}) [{rtype}] | release-group ID: {i['id']}") return "\n".join(lines)