Discogs MCP Server
🎵 Discogs MCP Server
Ein leistungsstarker Model Context Protocol (MCP)-Server, der KI-Assistenten die Interaktion mit Ihrer persönlichen Discogs-Musiksammlung ermöglicht. Gebaut auf Cloudflare Workers mit dem offiziellen Cloudflare Agents SDK und @modelcontextprotocol/sdk.
✨ Funktionen
🔐 Sichere OAuth-Authentifizierung: Verbinden Sie Ihr Discogs-Konto sicher
🧠 Intelligentes Stimmungs-Mapping: Übersetzen Sie Emotionen in Musik („mellow", „energetic", „Sunday evening vibes")
🔍 Fortgeschrittene Suchintelligenz: Mehrstrategien-Suche mit ODER-Logik und Relevanzbewertung
📊 Sammlungsanalysen: Umfassende Statistiken und Einblicke in Ihre Musik
🎯 Kontextbewusste Empfehlungen: Intelligente Vorschläge basierend auf Stimmung, Genre und Ähnlichkeit
⚡ Edge Computing: Globale Antworten mit geringer Latenz über Cloudflare Workers
🗂️ Intelligentes Caching: Intelligentes KV-basiertes Caching für optimale Leistung
🔄 Hintergrund-Synchronisierung der Sammlung: Ein 6-stündlicher Job hält einen Schnappschuss Ihrer Sammlung in KV, sodass Suchen aus dem Schnappschuss beantwortet werden, anstatt bei jedem Aufruf durch Discogs zu blättern.
Related MCP server: 1001 Albums Generator MCP
⚠️ Dies ist kein gemeinsamer Dienst
discogs-mcp.com ist die private Instanz des Betreuers. Sie ist an ein einzelnes Discogs-Konto gebunden und gibt für alle anderen eine 403 zurück.
Warum? Das Discogs-API-Ratenlimit (60 Anfragen pro Minute, gezählt pro Quell-IP) ist zu eng, um es über Benutzer hinweg zu teilen. Eine einzige aktive Sammlungsabfrage eines einzelnen Benutzers kann es bereits sättigen. Anstatt einen defekten Multi-Tenant-Dienst zu betreiben, stellt jeder Benutzer seinen eigenen Worker mit seinen eigenen Discogs-API-Anmeldedaten bereit.
Die gute Nachricht: Das Bereitstellen Ihrer eigenen Kopie ist unkompliziert, läuft auf dem kostenlosen Cloudflare-Workers-Tarif und dauert etwa 10 Minuten. Siehe Selbsthosting unten.
🚀 Selbsthosting
Der schnellste Weg ist der Deploy to Cloudflare-Button oben. Er klont dieses Repository in Ihr GitHub-Konto, richtet die KV-Namespaces und das Durable Object in Ihrem Cloudflare-Konto ein, fragt Sie nach den drei Geheimnissen und richtet Workers Builds ein, sodass zukünftige Pushes an Ihren Fork automatisch neu bereitgestellt werden.
1. Registrieren Sie eine Discogs-Entwickler-App
Gehen Sie zu discogs.com/settings/developers → Create an Application. Benennen Sie es beliebig; die Callback-URL kann vorerst ein Platzhalter sein (Sie kommen zurück und setzen sie, nachdem der Worker bereitgestellt wurde). Speichern Sie den Consumer Key und das Consumer Secret – Sie fügen sie als Nächstes ein.
2. Klicken Sie auf den Button
Wenn Sie dazu aufgefordert werden, fügen Sie ein:
Geheimnis | Wert |
| aus Schritt 1 |
| aus Schritt 1 |
| eine beliebige zufällige Zeichenfolge – |
Nach Abschluss der Bereitstellung zeigt Cloudflare Ihre Worker-URL an – etwa https://discogs-mcp.<your-subdomain>.workers.dev. Der MCP-Endpunkt ist /mcp.
3. Aktualisieren Sie die Callback-URL Ihrer Discogs-App
Gehen Sie zurück zu Ihrer Discogs-App und setzen Sie die Callback-URL auf:
https://discogs-mcp.<your-subdomain>.workers.dev/discogs-callback4. (Optional, aber empfohlen) Sperren Sie Ihre Instanz auf Ihren eigenen Discogs-Benutzer
Standardmäßig kann jeder, der Ihre Worker-URL entdeckt, sich authentifizieren und Ihr Discogs-Ratenlimit-Budget verbrauchen. Um dies einzuschränken, bearbeiten Sie wrangler.toml in Ihrem Fork und setzen Sie ALLOWED_DISCOGS_USER_ID unter [vars]:
[vars]
# Single user
ALLOWED_DISCOGS_USER_ID = "123456"
# Or a comma-separated list for multiple users
ALLOWED_DISCOGS_USER_ID = "123456,789012,345678"Finden Sie Ihre numerische ID, indem Sie https://api.discogs.com/users/<your-username> besuchen und das Feld id ansehen. Pushen Sie die Änderung – Workers Builds stellt automatisch neu bereit.
5. Verbinden Sie Ihren MCP-Client
Ersetzen Sie https://your-worker.workers.dev unten durch Ihre eigene URL.
Claude Desktop – Einstellungen → Integrationen → Integration hinzufügen → https://your-worker.workers.dev/mcp
Claude Code:
claude mcp add --transport http discogs https://your-worker.workers.dev/mcpWindsurf (~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"discogs": {
"serverUrl": "https://your-worker.workers.dev/mcp"
}
}
}Continue.dev / Zed / Allgemein:
{
"mcpServers": {
"discogs": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://your-worker.workers.dev/mcp"]
}
}
}MCP Inspector (Testen):
npx @modelcontextprotocol/inspector https://your-worker.workers.dev/mcpManuelle Bereitstellung (Alternative)
Wenn Sie den Button lieber überspringen möchten – zum Beispiel, weil Sie einen vollständig lokalen Klon wünschen oder sich auf einem Cloudflare-Konto befinden, auf dem der Button nicht funktioniert:
git clone https://github.com/rianvdm/discogs-mcp.git
cd discogs-mcp
npm install
# Create the two KV namespaces and copy the returned IDs into wrangler.toml
# (replace the empty `id = ""` values under the top-level [[kv_namespaces]] blocks)
wrangler kv namespace create MCP_SESSIONS
wrangler kv namespace create OAUTH_KV
# Set the three secrets
wrangler secret put DISCOGS_CONSUMER_KEY
wrangler secret put DISCOGS_CONSUMER_SECRET
wrangler secret put JWT_SECRET
# Deploy
npm run deployDann folgen Sie den Schritten 3–5 oben (Callback-URL, optionale Whitelist, MCP-Client verbinden).
Optional: Discogs-Aufrufe über Ihre eigene IP leiten
Discogs begrenzt nach Quell-IP, und ausgehende Anfragen eines Workers verlassen Cloudflares gemeinsame Egress-IPs, sodass andere Worker, die von derselben Stelle mit Discogs sprechen, in Ihre 60 Anfragen pro Minute einbezogen werden. Sie können dies sehen, wenn eine erste Anfrage nach Stunden der Inaktivität bereits einen niedrigen X-Discogs-Ratelimit-Remaining meldet. Wenn es zwickt, richten Sie den Worker auf ein Relay, das Sie betreiben: einen Cloudflare Tunnel zu einer beliebigen immer eingeschalteten Maschine (ein Heim-Mac, ein kleiner VPS) mit einem lokalen Reverse-Proxy, der an https://api.discogs.com weiterleitet und sowohl Host als auch X-Forwarded-Host auf api.discogs.com setzt (cloudflared allein kann das nicht, es überschreibt X-Forwarded-Host). Stellen Sie eine Cloudflare Access-Anwendung mit einer Service-Token-Richtlinie vor den Tunnel-Hostnamen, dann:
# wrangler.toml: DISCOGS_RELAY_ORIGIN = "https://relay.example.com"
wrangler secret put RELAY_ACCESS_CLIENT_ID
wrangler secret put RELAY_ACCESS_CLIENT_SECRETLassen Sie DISCOGS_RELAY_ORIGIN leer, um Discogs direkt aufzurufen (Standard). Wenn das Relay nicht erreichbar ist, fällt der Worker für diese Anfrage auf direkte Aufrufe zurück und protokolliert dies, sodass eine ausgeschaltete Maschine zu gemeinsamem IP-Verhalten degradiert, anstatt zu einem Ausfall zu führen. Implementierung und Begründung: src/rate-limiter/relay.ts.
Sammlungsgröße und der kostenlose Tarif
Das Limit des kostenlosen Tarifs, das hier zählt, ist CPU-Zeit: 10 ms pro Aufruf, sowohl für Tool-Aufrufe als auch für die Hintergrundsynchronisierung. Die Synchronisierung speichert jeweils eine Seite, um innerhalb dieses Limits zu bleiben, und der Schnappschuss, den sie erstellt, enthält nur die Felder, die die Suche benötigt (etwa 450 Bytes pro Veröffentlichung). Das deckt bequem Sammlungen bis zu etwa 2.000 Veröffentlichungen ab. Darüber hinaus beginnt das Lesen des Schnappschusses bei jeder Suche, das Budget zu belasten, und eine Sammlung von 4.000+ kann dazu führen, dass search_collection oder refresh_collection mit einem bloßen Ausführungsfehler und ohne Nachricht fehlschlagen – das ist die Laufzeit, die den Aufruf beendet, kein Discogs-Fehler. Die Lösung ist Workers Paid (5 $/Monat), das das Budget auf 30 Sekunden erhöht; sonst ändert sich nichts an der Bereitstellung.
Unabhängig vom Tarif meldet get_cache_stats die Artikelanzahl und Abrufzeit des Schnappschusses sowie die Seitennummer einer laufenden Synchronisierung, sodass Sie sehen können, ob die Hintergrundsynchronisierung ankommt, anstatt sie aus Cache-Eintragszahlen abzuleiten.
🔐 Authentifizierung
Dieser Server verwendet MCP OAuth 2.1 mit Discogs als Identitätsanbieter. Wenn Sie sich zum ersten Mal verbinden:
Ihr MCP-Client öffnet automatisch ein Browserfenster
Autorisieren Sie die Anwendung auf Discogs
Sie werden zurückgeleitet und authentifiziert – kein Kopieren und Einfügen erforderlich
Ihre Sitzung bleibt 7 Tage lang bestehen
🛠️ Verfügbare Tools
🔓 Öffentliche Tools (keine Authentifizierung erforderlich)
Tool | Beschreibung |
| Testen Sie die Serververbindung |
| Serverinformationen und -funktionen abrufen |
| Authentifizierungsstatus prüfen und Anmeldeanweisungen erhalten |
🔐 Authentifizierte Tools (Anmeldung erforderlich)
Suche & Entdeckung
Tool | Beschreibung |
| Durchsuchen Sie Ihre Sammlung mit expliziten Genre-Filtern, stimmungsbewusster Rangfolge und Deduplizierung auf Master-Ebene |
| Durchsuchen Sie den Discogs-weiten Katalog (Veröffentlichungen, Master, Künstler, Labels) – markiert Ergebnisse, die Sie bereits besitzen |
| Detaillierte Informationen zu einer bestimmten Veröffentlichung abrufen (Tracklist, Formate, Labels) |
| Genre-Aufschlüsselung, Jahrzehntanalyse, Formatverteilung und Bewertungen anzeigen |
| Personalisierte Empfehlungen nach Genre, Jahrzehnt, Stimmung oder Ähnlichkeit erhalten |
Sammlungsverwaltung
Tool | Beschreibung |
| Eine Veröffentlichung zu einem Ordner hinzufügen (Standard: Uncategorized) |
| Eine bestimmte Veröffentlichungsinstanz aus einem Ordner entfernen |
| Eine Veröffentlichungsinstanz zwischen Ordnern verschieben |
| Eine Veröffentlichung von 0 (keine Bewertung) bis 5 Sternen bewerten |
Wunschliste
Tool | Beschreibung |
| Veröffentlichungen auf Ihrer Wunschliste auflisten (paginiert) |
| Eine Veröffentlichung zu Ihrer Wunschliste hinzufügen |
| Eine Veröffentlichung von Ihrer Wunschliste entfernen |
Ordner
Tool | Beschreibung |
| Alle Ordner mit Veröffentlichungsanzahl auflisten |
| Einen neuen Ordner erstellen |
| Einen vorhandenen Ordner umbenennen (Systemordner ausgenommen) |
| Einen leeren Ordner löschen (Systemordner ausgenommen) |
Benutzerdefinierte Felder
Tool | Beschreibung |
| Alle benutzerdefinierten Felder auflisten, die in Ihrer Sammlung definiert sind |
| Einen benutzerdefinierten Feldwert für eine bestimmte Veröffentlichungsinstanz festlegen |
Diagnose
Tool | Beschreibung |
| Cache-Leistung anzeigen (Gesamteinträge, ausstehende Anfragen, Aufschlüsselung) |
| Erzwingen Sie jetzt eine vollständige Aktualisierung des Sammlungsschnappschusses, anstatt auf die 6-stündliche Synchronisierung zu warten |
📚 MCP-Ressourcen
Greifen Sie über standardisierte MCP-Ressourcen-URIs auf Discogs-Daten zu:
discogs://collection # Complete collection (JSON)
discogs://release/{id} # Specific release details
discogs://search?q={query} # Search results💬 MCP-Prompts
Prompt | Beschreibung | Argumente |
| Durchsuchen und erkunden Sie Ihre Sammlung | |
| Bestimmte Musik in Ihrer Sammlung finden |
|
| Einblicke und Statistiken zu Ihrer Sammlung erhalten |
🏗️ Lokale Entwicklung
# Dev secrets live in .dev.vars (gitignored); the same Discogs app is fine for dev
cp .dev.vars.example .dev.vars # then fill in DISCOGS_CONSUMER_KEY, DISCOGS_CONSUMER_SECRET, JWT_SECRET
# Run the Worker locally
npm run dev
# Test with MCP Inspector
npx @modelcontextprotocol/inspector http://localhost:8787/mcpDer Standard-[vars]-Block in wrangler.toml lässt ALLOWED_DISCOGS_USER_ID leer, sodass die lokale Entwicklung für jedes Discogs-Konto offen ist – praktisch zum Testen.
🧪 Testen
npm test # vitest in watch mode (runs in workerd via @cloudflare/vitest-pool-workers)
npx vitest run # one pass, then exit
npm run lint # ESLint; CI runs lint, test, and a dry-run buildDiagnose
ping und server_info melden, wie der Discogs-Traffic abgeht (direkt oder über das oben beschriebene Relay) und ob das Relay auf direkte Aufrufe zurückgefallen ist. Für den Live-Zustand des Rate-Limiters – verbleibendes Budget, Warteschlangentiefe, Status des Schutzschalters, Relay-Fallbacks – setzen Sie ein DEBUG_TOKEN-Secret und rufen Sie GET /debug/budget?token=<DEBUG_TOKEN> auf; ohne das Secret gibt der Endpunkt 404 zurück.
🤝 Mitwirken
Repository forken
Feature-Branch erstellen (
git checkout -b feature/amazing-feature)Änderungen committen (
git commit -m 'Add amazing feature')Branch pushen (
git push origin feature/amazing-feature)Pull Request öffnen
📄 Lizenz
MIT-Lizenz – siehe LICENSE-Datei für Details.
🙏 Danksagungen
Discogs für die Musikdatenbank-API
Model Context Protocol für den Standard
Cloudflare Workers für die Plattform
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The media memory layer for AI agents and their humans. Your AI client gets 29 tools to search your collection, add items, update ratings, preview music, and find patterns across everything you've read, watched, and listened to.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Scrape Discogs music releases, artists, labels, formats and catalogue numbers. Pay per row.
AI assistant integration for Leaf — track books, log reading sessions, and manage your library.
Related MCP Servers
- AlicenseCqualityAmaintenanceEnables interactions with the Discogs API for music catalog operations and search functionality, allowing users to manage their Discogs collections through natural language.5396120MIT
- AlicenseNot gradedqualityDmaintenanceConnects the 1001 Albums Generator dataset to AI assistants, enabling natural language exploration of your listening journey, taste analysis, and group comparisons.ISC
- AlicenseNot gradedqualityAmaintenanceEnables finding the best-sounding pressing of an album and mood- and taste-based music recommendations via Discogs.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search, manage, and analyze personal Discogs music collections with features like mood-based recommendations, advanced search, and collection analytics.15MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/DirtyDimmy/discogs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server