Skip to main content
Glama

Discogs MCP Server

A remote Model Context Protocol server for Discogs, hosted on Cloudflare Workers. Two things it's good at:

  1. Finding the best-sounding pressing of an album — surveys every version of a master release, scores each on community ratings, collector demand, format quality, and audiophile markers (MFSL, half-speed masters, renowned mastering engineers, Japanese pressings…), and returns a ranked comparison.

  2. Mood- and taste-based recommendations — mood-aware search of your own collection ("mellow Sunday morning"), catalog discovery ranked against your taste profile, and cross-user discovery that mines other collectors' public collections.

Auth is browser-based Discogs OAuth: connect an MCP client to the server URL and you'll be redirected to Discogs to log in. Read-only — the server never modifies your collection.

Quick start (self-hosting)

Prerequisites: Node 18+, a Cloudflare account, and a Discogs developer app.

npm install
npm run setup:kv          # creates OAUTH_KV and CACHE_KV; paste the IDs into wrangler.toml
cp .dev.vars.example .dev.vars   # fill in your Discogs consumer key/secret
npm run dev               # local dev on http://localhost:8787

Register the Discogs app with callback URL http://localhost:8787/callback for dev. Test with the MCP Inspector:

npm run inspect

Deploy

wrangler secret put DISCOGS_CONSUMER_KEY
wrangler secret put DISCOGS_CONSUMER_SECRET
npm run deploy

Then update your Discogs app's callback URL to https://<your-worker>.workers.dev/callback.

Connect a client

  • Claude Code: claude mcp add --transport http discogs https://<your-worker>.workers.dev/mcp

  • Claude Desktop / claude.ai: add a custom connector with URL https://<your-worker>.workers.dev/mcp

  • Legacy SSE clients can use /sse instead of /mcp.

To restrict who can log in, set ALLOWED_DISCOGS_USERS in wrangler.toml (comma-separated Discogs usernames and/or numeric user IDs).

Related MCP server: Navidrome-MCP

Tools

Tool

What it does

ping, auth_status, server_info

Health, identity, capabilities

search_collection

Mood-aware search of your collection (query, genres, styles, decades, minRating)

search_discogs

Full catalog search; results marked inCollection

get_release / get_master_release

Release / master details with community data

get_release_versions

All pressings of a master, filterable by country/format

find_best_pressing

Score & rank pressings of an album (by releaseId or albumTitle+artistName)

compare_pressings

Side-by-side comparison of 2–5 release IDs

get_collection_stats

Genre/style/decade/format/label analytics + taste profile

explore_user_collection

Browse another user's public collection

get_wantlist

Your wantlist, or another user's

get_recommendations

Recommendations by mood, genre/style, or reference release

discover_similar

Profile-based discovery; cross-user mining with otherUsernames

Prompts: find-best-pressing, recommend-by-mood, cross-user-discovery, compare-pressings. Resources: discogs://collection, discogs://wantlist, discogs://release/{id}, discogs://master/{id}, discogs://master/{id}/versions, discogs://user/{username}/collection, discogs://user/{username}/wants.

Example conversations

"What's the best pressing of OK Computer?"find_best_pressing ranks the top versions with score breakdowns and audiophile signals.

"What should I listen to on a rainy evening — something I already own?"search_collection maps "rainy" to Cool Jazz / Ambient / Shoegaze / Post-Rock / Trip Hop and filters your collection.

"Compare my collection with user xyz and tell me what to buy next."discover_similar reports your profile similarity and their albums that best match your taste.

Architecture notes

  • Auth bridge: MCP clients speak OAuth 2.1 to the Worker (via @cloudflare/workers-oauth-provider); the Worker speaks OAuth 1.0a to Discogs. Discogs tokens live encrypted inside the MCP access token (props) — no server-side session store.

  • Caching: all Discogs reads go through a KV read-through cache (releases/masters 24 h, versions 12 h, search 6 h, collections/wantlists 4 h). Collections are additionally cached as a single slim aggregate, so mood search, stats, and recommendations cost zero API calls when warm.

  • Rate limits: Discogs allows 60 req/min authenticated. The client retries 429s with exponential backoff and soft-throttles when the remaining budget is low. find_best_pressing budgets calls by pre-ranking versions on collector signals and fetching details only for the top ~12 candidates (the versions endpoint carries no ratings).

  • Collections are fetched at 100 items/page up to 3,000 items; beyond that results are truncated and flagged (truncated: true).

Development

npm test        # vitest unit tests (scoring, mood mapping, similarity)
npm run lint    # tsc --noEmit
npm run build   # wrangler dry-run bundle

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/manfredas370/Discogs-MCP_Claude-v2'

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