Bandcamp crate digging
Überblick
Beschreibung vom Entwickler (englisches Original)
Dig Bandcamp from any AI assistant: search artists, albums, labels and tracks, browse genre tags.
Die drei Säulen von PopNx MCP
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
- Stimmen der NutzeriNoch keine BewertungenBewertungen starten in einem späteren Schritt zusammen mit Benutzerkonten
- Unsere Basischecksi1 von 1 bestandenAnhand öffentlicher Informationen geprüft; Code noch nicht gescannt
- NutzungiGanz neu↓ 58/Wo. · ★ –
Was du damit machen kannst
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
- Verbindung: Läuft auf deinem Computer
- Transport: stdio
- Kategorie: Suche & KI-Gedächtnis
Installation
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Bevor du installierst
- Basischecks: 1 von 1 bestanden
- Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
- Die Registry nennt keinen Schlüssel zum Eintragen.
Du brauchst
- npmNode.js installiert (für den Befehl npx)
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"bandcamp": {
"command": "npx",
"args": [
"-y",
"bandcamp-mcp"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add bandcamp -- npx -y bandcamp-mcpOder kopier die Einstellungen selbst
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"bandcamp": {
"command": "npx",
"args": [
"-y",
"bandcamp-mcp"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Oder kopier die Einstellungen selbst
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"bandcamp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"bandcamp-mcp"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Was er kann
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Basischecksi
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 10. Nov. 2026
- ✓ Bestanden
Entwickler passt zum Repo
Der Registry-Name wurde mit dem GitHub-Konto Venut-Technologies bestätigt, dem das Repo gehört
- … Noch nicht geprüft
Wird noch gepflegt
Dieses Repo haben wir noch nicht von GitHub gelesen
- … Noch nicht geprüft
Hat eine Lizenz
Dieses Repo haben wir noch nicht von GitHub gelesen
- – Nicht zutreffend
Endpunkt antwortet
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
- – Nicht zutreffend
Anmeldung mit OAuth
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
- … Noch nicht geprüft
Keine versteckten Anweisungen in Tool-Beschreibungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Im Vergleich mit anderen in Suche & KI-Gedächtnisi
- Mehr Sterne als 0 % der anderen 5862 Server in dieser Kategorie
- Neuer in der Registry veröffentlicht als 46 % der anderen 5862 Server in dieser Kategorie
- Basischecks gleich gut wie oder besser als bei 100 % der anderen 5862 Server in dieser Kategorie
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Häufige Fragen
Ist Bandcamp crate digging sicher?
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Welche Schlüssel oder Codes braucht er?
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Läuft er auf meinem Computer oder in der Cloud?
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Wird er noch gepflegt?
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.2) kam vor 2 Monaten in die Registry.
Welche Apps können ihn nutzen?
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
Was kann ich stattdessen nutzen?
In derselben Kategorie: Context7, Codebase Memory, Exa
Alternativen
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
README vom Entwickler
README öffnen
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
bandcamp-mcp
Dig through Bandcamp by talking to Claude: chase a label's roster, see what is new under a tag, pull up an album's tracklist and price, and find who actually made track 7 on that compilation. bandcamp-mcp is a local MCP server — the way an AI assistant reaches tools on your machine — so any MCP client can use it: Claude Desktop, Claude Code, Cursor, VS Code. No account, no API key, nothing to configure.
Status: experimental. Pre-1.0 and actively developed: a minor version may change behaviour or break compatibility, a patch never does. Only the latest release is supported.
Not affiliated with, endorsed by, or sponsored by Bandcamp.
What you can ask
- "What's in the Sacred Bones catalogue, and who is each release by?"
- "Find the album *Cathedral* by John Carpenter and read me the tracklist with track lengths."
- "Show me ten new releases under the tag
drum-bass, then open each one and tell me its label and release date." - "Is that compilation various-artists? Tell me who made each track."
- "How much is this album, and is it name-your-price?"
- "Find that Bandcamp link a friend sent me and tell me what else the artist has released."
Answers come from Bandcamp's own public pages, fetched live — one request per tool call the assistant makes. The server reads; it never buys, downloads or touches an account, and it has no field in which a stream or download link could reach you.
Install
npx is the whole install: your MCP client starts the server on demand and picks up fixes the next time it launches.
Claude Code:
claude mcp add bandcamp -- npx -y bandcamp-mcp
Claude Desktop (Settings → Developer → Edit Config), or any MCP client that starts a stdio server from a command:
{
"mcpServers": { "bandcamp": { "command": "npx", "args": ["-y", "bandcamp-mcp"] } } }
Cursor: install in Cursor, or add the same JSON block to ~/.cursor/mcp.json.
VS Code (Copilot agent mode): install in VS Code, or run code --add-mcp '{"name":"bandcamp","command":"npx","args":["-y","bandcamp-mcp"]}'.
Claude Code plugin: this repository is also a plugin (.claude-plugin/plugin.json), so /plugin can install it once it is listed.
Requirements, and what is actually tested
Node.js 20 or newer (22 LTS recommended); Node 18 is end-of-life and a dependency of the MCP SDK requires 20. Every push runs the test suite on Node 20, 22 and 24, then packs the package, installs it into an empty project and starts it through an MCP handshake on Linux, macOS and Windows, on each of those Node versions. Nothing else is claimed: other platforms may well work, but no one has measured them.
Bandcamp itself has no versioned API. What the server reads is whatever bandcamp.com serves today, which is why a smoke test runs against the live site daily (badge above) and why a tool can start failing without warning — see How this works.
To pin a version, use bandcamp-mcp@ (e.g. npx -y bandcamp-mcp@0.1.0). An unpinned npx -y bandcamp-mcp picks up fixes the next time your client starts it; a pinned or globally installed copy does not (see Known limitations).
Windows
GUI MCP clients on Windows often can't start npx directly, because it is a .cmd script. Wrap it in cmd /c:
{
"mcpServers": { "bandcamp": { "command": "cmd", "args": ["/c", "npx", "-y", "bandcamp-mcp"] } } }
With Claude Code:
claude mcp add bandcamp -- cmd /c npx -y bandcamp-mcp
CI checks this command: on windows-latest, the package job installs the packed package into a project and runs cmd /c npx -y bandcamp-mcp there through an MCP handshake (initialize, then tools/list). There, npx finds the installed copy instead of downloading it, so the check covers how the server starts on Windows, not the download.
Troubleshooting: "server disconnected" / spawn npx ENOENT
GUI-launched MCP clients often start servers with a minimal PATH that leaves out nvm/volta shims, even when npx -y bandcamp-mcp works in your terminal. Install the package globally and point the client at absolute paths instead:
npm install -g bandcamp-mcp
which node # the "command" below (Windows: where node) echo "$(npm root -g)/bandcamp-mcp/dist/index.js" # the "args" entry below
{
"mcpServers": { "bandcamp": { "command": "/absolute/path/to/node", "args": ["/absolute/path/to/node_modules/bandcamp-mcp/dist/index.js"] } } }
On Windows, every backslash in the JSON paths must be doubled, e.g. C:\\Users\\you\\AppData\\Roaming\\npm\\node_modules\\bandcamp-mcp\\dist\\index.js. A global install doesn't update itself: run npm install -g bandcamp-mcp@latest to pick up a fix.
If your network blocks the npm registry
npx looks the package up on registry.npmjs.org whenever your client starts the server. If the registry is blocked, or only sometimes reachable, run npm install -g bandcamp-mcp once while you have access and use the absolute-path config above, which starts without the registry.
How this works, and why it can break
Bandcamp has no public catalog API, so every tool call makes live requests to the same endpoints Bandcamp's own website uses:
bandcamp_search: the JSON endpoint behind Bandcamp's search box (/api/bcsearch_public_api/1/autocomplete_elastic);bandcamp_browse_tag: the JSON endpoint behind bandcamp.com/discover (/api/discover/1/discover_web);bandcamp_get_albumandbandcamp_get_track: the public release or track page, read mostly from its schema.org JSON-LD block, with tags from the page markup;bandcamp_get_artist: the artist's or label's/musicpage, read from its markup.
None of these is a published, versioned API. Bandcamp can change them at any time and without notice, and a tool then stops working until this project ships a fix. When that happens the tool says so ("Bandcamp's response format looks like it changed", or that it got a bot check instead of data) and links to the issues page. A daily smoke test (badge above) runs every tool's client code against live Bandcamp pages and reports failures to a tracking issue. The endpoint notes are in docs/bandcamp-endpoints.md.
- Metadata only. Releases are identified by slug, and the result schemas (
src/client/types.ts) have no field for stream, download or purchase links, so the signed audio links in Bandcamp's pages can't pass through. (Free-text fields are the artists' own words, and may mention links.) - No caching or republishing. Every tool call is fetched live. Nothing is stored; results go to your MCP client and nowhere else.
- No telemetry. Neither this package nor Venut Technologies collects anything; what the server reads, sends and stores is listed in PRIVACY.md. But every tool call is a request from your machine straight to Bandcamp, which sees your IP address, what you asked for and when. The requests also say where they come from, with the User-Agent
Mozilla/5.0 (compatible; bandcamp-mcp/ ; +https://github.com/Venut-Technologies/bandcamp-mcp), so they don't look like a browser visit. - Gentle by design. At most 3 requests in flight, at least 150 ms apart, a 7-second timeout, and one retry for a timeout, a transport-level failure (a reset or closed socket, a DNS or TLS error), 5xx or 429 (honoring a
Retry-Afterof up to 5 s). Onlybandcamp.comand*.bandcamp.comhosts are ever fetched: redirects are followed by hand (at most 3) and each target is checked against that list.
Bandcamp's robots.txt closes /api/ to crawlers, which covers the search endpoint, and explicitly allows the browse one. This server is not a crawler: it fetches one page per tool call you make, follows no links and stores nothing. That reading, the argument against it, and the commitment to change or drop a tool if Bandcamp objects are all recorded in CONTRIBUTING.md.
The repository (not the npm package) contains pages and API responses captured from Bandcamp as test fixtures, with the signed stream and download URLs redacted, the identities and free text replaced by invented ones, and each page cut down to the markup the parsers read.
Found a bug, or have an abuse concern? Please open an issue: https://github.com/Venut-Technologies/bandcamp-mcp/issues
Security problems go privately to security@venut.tech instead; see SECURITY.md.
Tools
| Tool | Input | Returns |
|---|---|---|
bandcamp_search | query (1–200 characters); type: all (default), album, artist, track or label | Ranked matches, each {type, name, artist, slug}. Artists and labels are told apart by Bandcamp's is_label flag on each result. |
bandcamp_get_album | slug, e.g. johncarpentermusic/album/cathedral | Title, artist, release date, label, tags, description, the digital price (priceText is the minimum, with priceCurrency; isNameYourPrice), and the tracklist: each track's own artist (compilations), position, duration and slug. |
bandcamp_get_artist | slug: the artist's or label's subdomain, e.g. sacredbonesrecords | Name, location, bio and discography: at most 100 entries {title, slug, type, artist} (on a label page, artist is each release's own artist). discographyTotal counts all releases; discographyTruncated says whether some were cut. No tags. |
bandcamp_get_track | slug, e.g. johncarpentermusic/track/primeval | Any track page, whether a track on an album or a standalone single: title, artist, duration, tags, description, and album {title, slug}, the album it belongs to (on a standalone single: the track's own title with slug: null; null when the page names no album at all). |
bandcamp_browse_tag | tag (optional): a Bandcamp tag slug such as ambient, drum-bass or русский-рок; sort: top (default) or new; cursor (optional) | Up to 20 releases per page, each {type, name, artist, slug}, plus nextCursor for the next page. Omit tag for an unfiltered listing across Bandcamp. A free-form tag is normalized to slug form (Drum & Bass → drum-bass). A cursor only works with the tag and sort it came from. |
Every slug is a Bandcamp identifier copied from an earlier result ( /album/ , /track/ , or a bare subdomain for an artist or label), never a display name. The tools take no URLs: a Bandcamp URL https:// .bandcamp.com/album/ becomes the slug /album/ , and the tool descriptions tell the model so. A result whose slug is null can't be looked up (see custom domains below).
Known limitations
- Single-maintainer, best-effort project, with no SLA. The daily smoke test is monitoring, not a support guarantee.
- Prompt injection. Names, titles, bios, desc
Nur der Anfang wird gezeigt; den Rest findest du im Repo