by cswkim
Provides a Model Context Protocol server that wraps the Discogs API, enabling music catalog operations, search, and collection management through MCP clients.
Wraps the Discogs API as an MCP server, allowing AI assistants and other MCP‑compatible tools to query and modify a user's Discogs collection, perform searches, and retrieve detailed release information.
.env
file from .env.example
and set DISCOGS_PERSONAL_ACCESS_TOKEN
with your personal access token.pnpm install && pnpm run dev
(or dev:stream
for HTTP streaming).docker build -t discogs-mcp-server .
then docker run --env-file .env discogs-mcp-server
(add -p 3001:3001
and stream
argument for streaming mode).per_page
default (5) to keep responses lightweight.npx
, local Node, or Docker.Q: Do I need to share my Discogs token?
A: No. Set it only in your local .env
file; never commit or share the token.
Q: Why is the default per_page
set to 5?
A: To avoid overwhelming MCP clients with large payloads; you can request more items in prompts when needed.
Q: Can I use OAuth instead of a personal token? A: OAuth support is planned for a future release.
Q: Which transport should I choose?
A: Use STDIO (pnpm run dev
) for local development; use HTTP streaming (dev:stream
or Docker stream
) for clients that require a persistent HTTP connection.
Q: How do I test the server locally?
A: Run pnpm run inspect
to launch the MCP Inspector at http://127.0.0.1:6274
.
MCP Server for the Discogs API, enabling music catalog operations, search functionality, and more.
If you just want to get started immediately using this MCP Server with the Claude desktop app and don't care about development or running the server yourself, then make sure you have Node.js installed and your Discogs personal access token ready and skip straight to the Claude configuration section. Use the NPX
method from that section.
This MCP server is built using FastMCP, a typescript framework for building MCP servers. For more information about MCP and how to use MCP servers, please refer to the FastMCP documentation and the official MCP documentation.
Check out the list of available tools: TOOLS.md
per_page
default is 50
, which can be too much data for some clients to process effectively, so within this project a discogs.config.defaultPerPage
value has been set to 5
. You can request more data in your prompts, but be aware that some clients may struggle with larger responses.20.x.x
, but 18.x.x
should work as well)
node --version
.env
file in the root directory based on .env.example
.env
:
DISCOGS_PERSONAL_ACCESS_TOKEN
: Your Discogs personal access tokenTo get your Discogs personal access token, go to your Discogs Settings > Developers page and find your token or generate a new one. DO NOT SHARE YOUR TOKEN. OAuth support will be added in a future release.
The other environment variables in .env.example
are optional and have sensible defaults, so you don't need to set them unless you have specific requirements.
Install dependencies:
pnpm install
Available commands:
pnpm run dev
: Start the development server with hot reloadingpnpm run dev:stream
: Start the development server with hot reloading in HTTP streaming modepnpm run build
: Build the production versionpnpm run start
: Run the production buildpnpm run inspect
: Run the MCP Inspector (see Inspection section)pnpm run format
: Check code formatting (prettier)pnpm run lint
: Run linter (eslint)pnpm run test
: Run vitestpnpm run test:coverage
: Run vitest v8 coveragepnpm run version:check
: Checks that the package.json version and src/version.ts matchBuild the Docker image:
docker build -t discogs-mcp-server:latest .
Run the container:
docker run --env-file .env discogs-mcp-server:latest
For HTTP Streaming transport mode:
# The port should match what is in your .env file
docker run --env-file .env -p 3001:3001 discogs-mcp-server:latest stream
Run the MCP Inspector to test your local MCP server:
pnpm run inspect
This will start the MCP Inspector at http://127.0.0.1:6274
. Visit this URL in your browser to interact with your local MCP server.
For more information about the MCP Inspector, visit the official documentation.
More client examples will be added in the future. If you'd like configuration for a specific client, either request it by opening a new issue or creating the pull request to edit this section of the README yourself.
Find your claude_desktop_config.json
at Claude > Settings > Developer > Edit Config
and depending on which option you'd like, add JUST ONE of the following:
Running it straight from the npm registry.
{
"mcpServers": {
"discogs": {
"command": "npx",
"args": [
"-y",
"discogs-mcp-server"
],
"env": {
"DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
Dependencies should have been installed before you use this method (pnpm install
).
{
"mcpServers": {
"discogs": {
"command": "npx",
"args": [
"tsx",
"/PATH/TO/YOUR/PROJECT/FOLDER/src/index.ts"
],
"env": {
"DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
The docker image should have been built before using this method.
{
"mcpServers": {
"discogs": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env-file",
"/PATH/TO/YOUR/PROJECT/FOLDER/.env",
"discogs-mcp-server:latest"
]
}
}
}
Any changes to local code will require Claude to be restarted to take effect. Also, Claude requires human-in-the-loop interaction to allow an MCP tool to be run, so everytime a new tool is accessed Claude will ask for permission. You usually only have to do this once per tool per chat. If using the free version, long chats may result in more frequent errors trying to run tools as Claude limits the amount of context within a single chat.
In the librechat.yaml
configuration file, add this under the mcpServers
section:
discogs:
type: stdio
command: npx
args: ["-y", "discogs-mcp-server"]
env:
DISCOGS_PERSONAL_ACCESS_TOKEN: YOUR_TOKEN_GOES_HERE
Get to the Chat Settings
. In the Program
tab there will be a dropdown with a default of Install
. Select Edit mcp.json
. Add this under the mcpServers
section:
"discogs": {
"command": "npx",
"args": [
"-y",
"discogs-mcp-server"
],
"env": {
"DISCOGS_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN_GOES_HERE"
}
}
After you Save, in the Program
tab there should now be an mcp/discogs
toggle to enable the server. Within every chat box there is an Integrations
menu where you can also enable mcp servers.
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "discogs": { "command": "npx", "args": [ "-y", "discogs-mcp-server" ], "env": { "DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by exa-labs
Provides real-time web search capabilities to AI assistants via a Model Context Protocol server, enabling safe and controlled access to the Exa AI Search API.
by elastic
Enables natural‑language interaction with Elasticsearch indices via the Model Context Protocol, exposing tools for listing indices, fetching mappings, performing searches, running ES|QL queries, and retrieving shard information.
by graphlit
Enables integration between MCP clients and the Graphlit platform, providing ingestion, extraction, retrieval, and RAG capabilities across a wide range of data sources and connectors.
by mamertofabian
Fast cross‑platform file searching leveraging the Everything SDK on Windows, Spotlight on macOS, and locate/plocate on Linux.
by cr7258
Provides Elasticsearch and OpenSearch interaction via Model Context Protocol, enabling document search, index management, cluster monitoring, and alias operations.
by liuyoshio
Provides natural‑language search and recommendation for Model Context Protocol servers, delivering rich metadata and real‑time updates.
by ihor-sokoliuk
Provides web search capabilities via the SearXNG API, exposing them through an MCP server for seamless integration with AI agents and tools.
by fatwang2
Provides web and news search, URL crawling, sitemap extraction, deep‑reasoning, and trending topic retrieval via Search1API, exposed as an MCP server for integration with AI clients.
by cnych
Provides SEO data retrieval via Ahrefs, exposing MCP tools for backlink analysis, keyword generation, traffic estimation, and keyword difficulty, with automated CAPTCHA solving and response caching.