Get the FREE Ultimate OpenClaw Setup Guide →

musicbrainz

🎵 A comprehensive Model Context Protocol (MCP) server for querying the MusicBrainz database. Built with FastMCP framework, featuring 10 MCP tools, async architecture, comprehensive testing, and production-ready deployment.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio usercourses63-musicbrainz-mcp-server python -m musicbrainz_mcp.main \
  --env DEBUG="true|false to enable debug logging" \
  --env CACHE_ENABLED="true|false to enable/disable caching" \
  --env CACHE_DEFAULT_TTL="Cache TTL in seconds (default: 300)" \
  --env MUSICBRAINZ_TIMEOUT="Request timeout in seconds (default: 10.0)" \
  --env MUSICBRAINZ_RATE_LIMIT="Requests per second (default: 1.0)" \
  --env MUSICBRAINZ_USER_AGENT="Required: Your app/user agent string, e.g. YourApp/1.0.0"

How to use

MusicBrainz MCP Server exposes a set of MCP tools that query the MusicBrainz database for artists, releases, recordings, and related metadata. The server supports ten tools, including search_artist, search_release, search_recording, search_release_group, get_artist_details, get_release_details, get_recording_details, browse_artist_releases, browse_artist_recordings, and lookup_by_mbid. Clients can perform standardized MCP calls to fetch structured metadata in a consistent format, with optional parameters controlling queries, limits, and included details. Typical usage involves configuring a client with the server address, selecting a tool, and passing a params payload such as search terms, MBIDs, and desired inclusions. The server handles API requests to MusicBrainz, applies rate limiting and caching, and returns responses in the MCP schema compatible with the FastMCP framework.

How to install

Prerequisites:

  • Python 3.8 or newer
  • Internet connection for MusicBrainz API access

Step-by-step installation:

  1. Clone the repository
git clone <repository-url>
cd MusicBrainzMcp
  1. Create and activate a virtual environment
python -m venv venv
# On macOS/Linux
source venv/bin/activate
# On Windows
venv\Scripts\activate
  1. Install dependencies in editable mode
pip install -e .
  1. Run the server
python -m musicbrainz_mcp.main

The server will start and listen for MCP client connections.

Additional notes

Notes and tips:

  • Environment variables control API behavior and caching. Set MUSICBRAINZ_USER_AGENT to a descriptive identifier, and adjust rate_limit and timeout to suit your usage pattern.
  • If caching is enabled, ensure TTLs are appropriate for your workload; large TTLs can improve throughput but may serve stale data.
  • The deployment section provides Docker, Systemd, and cloud deployment guidance for production setups.
  • Tests exist with 101 total tests; run pytest to validate behavior during development. Ensure the virtual environment is active when running tests or the server.
  • If you plan to use Smithery.ai, configure user agent, rate limit, and timeout per the README recommendations for best results.

Related MCP Servers

Sponsor this space

Reach thousands of developers ↗