discorg-mcp
discogs-mcp
A Model Context Protocol server for Discogs. Search the
catalog, manage your collection and wantlist, and work the marketplace — straight from Claude or any other MCP
client. No hosting required: it runs locally via npx and talks to Discogs' own API directly.
Features
Area | Tools |
Identity |
|
Catalog |
|
Collection |
|
Wantlist |
|
Marketplace |
|
Orders |
|
Quick start — personal access token (recommended)
The simplest setup: no app registration, no OAuth flow, just one token.
Go to discogs.com/settings/developers and click Generate new token under Personal access tokens.
Add discogs-mcp to your MCP client with that token.
Claude Code
claude mcp add discogs -e DISCOGS_PERSONAL_TOKEN=your_token -- npx -y discogs-mcpClaude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"discogs": {
"command": "npx",
"args": ["-y", "discogs-mcp"],
"env": {
"DISCOGS_PERSONAL_TOKEN": "your_token"
}
}
}
}Restart your client and the discogs_* tools will appear.
Alternative — OAuth app (for multi-user or CI setups)
If you need to authenticate as a different Discogs user than the token owner, or want to use OAuth 1.0a app credentials instead:
Register a free application at discogs.com/settings/developers — any name works; grab the Consumer Key and Consumer Secret.
Run the login flow to authorize and save an access token:
export DISCOGS_CONSUMER_KEY=your_consumer_key
export DISCOGS_CONSUMER_SECRET=your_consumer_secret
npx discogs-mcp loginThis opens your browser to Discogs' authorization page and saves the access token to
~/.config/discogs-mcp/credentials.json (mode 0600). You only need to do this once.
Then add to your MCP client with the consumer credentials so the server can sign requests:
# Claude Code
claude mcp add discogs -e DISCOGS_CONSUMER_KEY=your_key -e DISCOGS_CONSUMER_SECRET=your_secret -- npx -y discogs-mcpRemote server (Cloudflare Worker)
Want to add Discogs as a custom connector in Claude instead of running it locally?
The worker/ directory is a read-only remote MCP server (Streamable HTTP)
you can deploy to Cloudflare Workers in a few clicks — no npx process on your machine.
See worker/README.md for the one-time setup.
Environment variables
Variable | Required | Purpose |
| One of these two auth methods | Personal access token from discogs.com/settings/developers. Simplest option — no app or login step needed. |
| One of these two auth methods | OAuth app credentials. Required when using the |
| No | Inject an OAuth access token directly (skips the on-disk credential file — useful for CI). Both must be set together, alongside the consumer key/secret. |
| No | Skip the automatic username lookup on startup. Optional speed-up when the username is already known. |
| No | Overrides the |
| No | Overrides where |
Security notes
The access token/secret saved by
loginare only as sensitive as your Discogs account — they grant the same access you approved (collection, wantlist, marketplace, orders). The file is written with0600permissions.You can revoke access at any time from your Discogs account under Settings → Developers, then delete
~/.config/discogs-mcp/credentials.jsonlocally.Tools that create, modify, or delete marketplace listings/orders are real, live actions — most MCP clients ask for confirmation before running a tool call, but treat those tools as if they were.
See SECURITY.md for how to report a vulnerability.
Development
git clone https://github.com/Spiegelberg/discogs-mcp.git
cd discogs-mcp
npm install
npm run dev # run the server against source with tsx
npm run lint
npm run typecheck
npm test
npm run build # bundle to dist/See CONTRIBUTING.md for more.
Publishing / distribution checklist
Automated by this repo:
npm run buildproduces a workingdist/index.jsbin.CI (
.github/workflows/ci.yml) lints, typechecks, tests, and builds on every push/PR.Pushing a
vX.Y.Ztag runs.github/workflows/publish.yml, which publishes to npm with provenance.server.jsonis ready to submit to the open MCP Registry via themcp-publisherCLI, andpackage.json'smcpNamefield matches it.
Still manual, and outside what code in this repo can do:
Create/own the
discogs-mcpnpm package and add anNPM_TOKENrepo secret so the publish workflow can run.Run
mcp-publisher(or open a PR against the MCP Registry) to list it there.If you want it in Anthropic's curated in-product connector directory, that's a separate outreach/review process with Anthropic — not something a GitHub Action can trigger.