A side-by-side look at the Musicbrainz MCP and Last Fm MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Musicbrainz MCP for art & culture work as a local process; choose Last Fm for art & culture as a local process. You can also run both side by side in one mcpServers block.
musicbrainz_lookup, musicbrainz_search, musicbrainz_browse.PLATFORM_LASTFM_KEY.artist_info, artist_top_tracks, artist_similar.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Art & Culture | Art & Culture |
| Quality signal | 61/100 · Good | 60/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | PLATFORM_LASTFM_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 1 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 9 | 9 |
| Full listing | View Musicbrainz MCP | View Last Fm |
musicbrainz_lookupFetch a single MusicBrainz entity (artist, release, recording, release-group, label, work, area, place, event, instrument, series, genre, url) by its MBID. Use `inc` to pull linked sub-entities and relationships, e.g. inc: ["releases","release-groups"] on an artist, or ["recordings","labels"] on a release, or ["artist-credits","url-rels"] on most entities. Your own tags/ratings (inc: ["user-tags"], ["user-ratings"], …) need OAuth (MUSICBRAINZ_OAUTH_*). Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_searchSearch a MusicBrainz entity type with a Lucene query and get back ranked matches with their MBIDs. Plain text matches the entity name; fielded Lucene also works, e.g. `artist:"Miles Davis" AND country:US`, `release:"Kind of Blue" AND format:Vinyl`, or `recording:"So What" AND dur:[540000 TO 560000]`. Feed a returned MBID into musicbrainz_lookup for full detail. Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_browseList all entities of one type directly linked to a given entity — e.g. every release by an artist (entity: "release", linkedBy: "artist", mbid: <artist>), recordings on a release, releases in a collection (a private collection needs OAuth: MUSICBRAINZ_OAUTH_*), or events at a place. This is the complete, paged set for a relationship (unlike search, which ranks fuzzy matches). Use `inc` for extra detail and limit/offset to page (max 100/page). Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_cover_artFetch Cover Art Archive image metadata for a release or release-group MBID — front/back cover URLs, thumbnails, and image types. Returns the image URLs (you can open or download them); it does not embed the bytes. Errors clearly when no art exists for the MBID. Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_resolveTurn a musicbrainz.org URL (e.g. https://musicbrainz.org/artist/<mbid> or /release-group/<mbid>) into the underlying entity by extracting its type + MBID and looking it up. Handy when a user pastes a MusicBrainz link. Pass `inc` to include linked sub-entities. Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_healthcheckConfirm the MusicBrainz API is reachable (and our User-Agent accepted) by looking up a stable entity, and report whether the OAuth write path is configured. Reports {ok, reachable, oauth_configured} with a plain-English hint. Read-only.musicbrainz_submit_tagsApply user tags to a MusicBrainz entity on YOUR account (needs OAuth: MUSICBRAINZ_OAUTH_* with the `tag` scope). Default `vote: upvote` adds the tags; `downvote` opposes them; `withdraw` removes your vote. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). The preview shows the exact XML; nothing is sent before confirmation. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_submit_ratingSet YOUR rating for a MusicBrainz entity (needs OAuth: MUSICBRAINZ_OAUTH_* with the `rating` scope). Rating is 0–100 (MusicBrainz shows it as 1–5 stars in steps of 20; 0 removes your rating). Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Nothing is sent before confirmation. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_modify_collectionAdd or remove entities (releases, artists, recordings, release-groups, works, labels, places, areas, events) in one of YOUR MusicBrainz collections (needs OAuth: MUSICBRAINZ_OAUTH_* with the `collection` scope). Get the collection MBID from its URL (musicbrainz.org/collection/<mbid>). Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Nothing is changed before confirmation. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.artist_infoFetch Last.fm artist profile by name (or MusicBrainz ID): biography, listener/play counts, similar artists, and genre tags; optionally in a specified language.artist_top_tracksMost-played tracks for an artist.artist_similarSimilar artists.album_infoFetch Last.fm album metadata by artist and album name (or MusicBrainz ID): track listing, listener/play counts, wiki summary, and genre tags.track_infoFetch Last.fm track metadata by artist and track name (or MusicBrainz ID): duration, listener/play counts, genre tags, and wiki summary.track_searchSearch Last.fm for tracks matching a keyword query; returns ranked results with artist, track name, and listener counts.user_top_tracksFetch a SPECIFIC NAMED Last.fm user's most-scrobbled tracks for a given period (overall/7day/1month/3month/6month/12month) — only when the question names a Last.fm username; NEVER for general "popular songs / top music" questions (use chart_top_artists or tag_top_artists for those) and never with a guessed or example username. Returns track names, artists, and play counts.tag_top_artistsFetch the top Last.fm artists for a genre tag (e.g. 'rock', 'electronic'); returns ranked artist names with listener counts.chart_top_artistsThe world's most-popular music right now — global top artists by listener count. PREFER for "recommend popular music", "top songs / top artists this year", "what music is trending", "popular songs 2026" and any general most-popular-music question (for a GENRE use tag_top_artists; for one NAMED user's history use the user_* tools). Keyless, returns ranked artist names with listener and play counts.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"musicbrainz-mcp": {
"command": "npx",
"args": [
"-y",
"musicbrainz-mcp"
]
}
}
}
{
"mcpServers": {
"last-fm-2": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-last-fm"
],
"env": {
"PLATFORM_LASTFM_KEY": "YOUR_PLATFORM_LASTFM_KEY_HERE"
}
}
}
}