Integrations
Enables music catalog operations, search functionality, and collection management through the Discogs API. Allows for viewing, editing, and managing data in your Discogs collection.
Discogs MCP Server
MCP Server for the Discogs API, enabling music catalog operations, search functionality, and more.
Quickstart
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.
Table of Contents
- Acknowledgements
- Available Tools
- Caveats
- Prerequisites
- Setup
- Running the Server
- Inspection
- MCP Clients
- TODO
- License
Acknowledgements
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.
Available Tools
Check out the list of available tools: TOOLS.md
Caveats
- The Discogs API documentation is not perfect and some endpoints may not be fully documented or may have inconsistencies.
- Due to the vast number of API endpoints and response types, it's not feasible to verify type safety for every possible response. Please report any type-related issues you encounter.
- This MCP server allows for editing data in your Discogs collection. Please use with caution and verify your actions before executing them.
- The Discogs API
per_page
default is50
, which can be too much data for some clients to process effectively, so within this project adiscogs.config.defaultPerPage
value has been set to5
. You can request more data in your prompts, but be aware that some clients may struggle with larger responses.
Prerequisites
- Node.js (tested with Node.js
20.x.x
, but18.x.x
should work as well)- Check your Node.js version with:
node --version
- Check your Node.js version with:
- Docker (optional, for running a local docker image without having to deal with Node or dependencies)
Setup
- Clone the repository
- Create a
.env
file in the root directory based on.env.example
- Set the following required environment variables in your
.env
:DISCOGS_PERSONAL_ACCESS_TOKEN
: Your Discogs personal access token
To 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.
Running the Server Locally
Option 1: Local Development
- Install dependencies:Copy
- Available commands:
pnpm run dev
: Start the development server with hot reloadingpnpm run dev:sse
: Start the development server with hot reloading in SSE 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 match
Option 2: Docker
- Build the Docker image:Copy
- Run the container:For SSE transport mode:CopyCopy
Inspection
Run the MCP Inspector to test your local MCP server:
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.
MCP Clients
Currently, this MCP server has only been tested with Claude Desktop. More client examples will be added in the future.
Claude Desktop Configuration
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:
NPX
Running it straight from the npm registry.
Local Node
Dependencies should have been installed before you use this method (pnpm install
).
Docker
The docker image should have been built before using this method.
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.
TODO
- OAuth support
- Missing tools:
- Inventory uploading
License
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.
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Enables interactions with the Discogs API for music catalog operations and search functionality, allowing users to manage their Discogs collections through natural language.
Related MCP Servers
- AsecurityAlicenseAqualityEnables interaction with Spotify's music catalog via the Spotify Web API, supporting searches, artist information retrieval, playlist management, and automatic token handling.Last updated -265472TypeScriptMIT License
- -securityFlicense-qualityEnables interaction with the Audius music platform API, supporting user, track, and playlist operations through the Model Context Protocol.Last updated -40TypeScript
- -securityAlicense-qualityFacilitates controlling Apple Music on macOS via AppleScript through MCP commands, allowing users to manage playback, search for tracks, and create playlists.Last updated -30PythonMIT License
- AsecurityAlicenseAqualityEnables extracting data from websites using natural language prompts, allowing users to specify exactly what content they want in plain English and returning structured JSON data.Last updated -11,3794TypeScriptMIT License