ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Bandcamp crate digging

โดย Venut-Technologiesรุ่น 0.1.2i★ –iรันบนเครื่อง
ชื่อใน registryio.github.Venut-Technologies/bandcamp-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Dig Bandcamp from any AI assistant: search artists, albums, labels and tracks, browse genre tags.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ค้นข้อมูลและความจำของ AI

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "bandcamp": {
      "command": "npx",
      "args": [
        "-y",
        "bandcamp-mcp"
      ]
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add bandcamp -- npx -y bandcamp-mcp

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "bandcamp": {
      "command": "npx",
      "args": [
        "-y",
        "bandcamp-mcp"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "bandcamp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "bandcamp-mcp"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub Venut-Technologies ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

  • ดาวมากกว่า 0% ของอีก 5823 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 47% ของอีก 5823 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5823 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Bandcamp crate digging ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.2) เข้า registry 2 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Context7, Codebase Memory, Exa

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Context7

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

โดย upstashใช้กันมาก↓ 972.7K/สัปดาห์★ 64.2Kอัปเดต วันนี้

บนเครื่องหรือคลาวด์

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

โดย DeusDataใช้กันมาก↓ 18K/สัปดาห์★ 48.1Kอัปเดต 23 วันที่ผ่านมา

รันบนเครื่อง

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

โดย exa-labsใช้กันมาก★ 5.2Kอัปเดต 2 เดือนที่ผ่านมา

รันบนคลาวด์✓ exa.ai

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

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_album and bandcamp_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 /music page, 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-After of up to 5 s). Only bandcamp.com and *.bandcamp.com hosts 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

ToolInputReturns
bandcamp_searchquery (1–200 characters); type: all (default), album, artist, track or labelRanked matches, each {type, name, artist, slug}. Artists and labels are told apart by Bandcamp's is_label flag on each result.
bandcamp_get_albumslug, e.g. johncarpentermusic/album/cathedralTitle, 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_artistslug: the artist's or label's subdomain, e.g. sacredbonesrecordsName, 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_trackslug, e.g. johncarpentermusic/track/primevalAny 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_tagtag (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

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx