Skip to main content
Glama
zas

MusicBrainz MCP Server

by zas

get_album_tracks

Retrieve tracklists with durations for albums, EPs, or singles using MusicBrainz release group IDs. This tool provides structured track information for music cataloging and metadata applications.

Instructions

Fetches the tracklist with durations for a release group (album/EP/single). Takes a release_group_id (NOT a release_id). For a specific release's tracklist, use get_release_details instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
release_group_idYes

Implementation Reference

  • The `get_album_tracks` tool implementation, which fetches tracks for a release group from MusicBrainz.
    @mcp.tool()
    @cached_tool()
    def get_album_tracks(release_group_id: str) -> str:
        """Fetches the tracklist with durations for a release group (album/EP/single).
        Takes a release_group_id (NOT a release_id). For a specific release's tracklist,
        use get_release_details instead."""
        rg_result = musicbrainzngs.get_release_group_by_id(
            release_group_id, includes=["releases"]
        )
        releases = rg_result["release-group"].get("release-list", [])
        if not releases:
            return "No releases found for this release group."
    
        release_id = releases[0]["id"]
        release_details = musicbrainzngs.get_release_by_id(
            release_id, includes=["recordings"]
        )
        tracks = _format_tracks(release_details["release"].get("medium-list", []))
        return "\n".join(tracks) if tracks else "No tracks found."

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zas/mcp-musicbrainz'

If you have feedback or need assistance with the MCP directory API, please join our Discord server