Labsco
cswkim logo

Discogs MCP Server

β˜… 114

from cswkim

Access the Discogs API for music cataloging, search, and other database operations.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredAdvanced setup

License GitHub Release GitHub Actions Workflow Status NPM Downloads Sponsor

Discogs MCP Server

MCP Server for the Discogs API, enabling music catalog operations, search functionality, and more.

Table of Contents

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 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.

Inspection

Run the MCP Inspector to test your local MCP server:

Copy & paste β€” that's it
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.

MCP Clients

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.

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.

Copy & paste β€” that's it
{
  "mcpServers": {
    "discogs": {
      "command": "npx",
      "args": [
        "-y",
        "discogs-mcp-server"
      ],
      "env": {
        "DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Local Node

Dependencies should have been installed before you use this method (pnpm install).

Copy & paste β€” that's it
{
  "mcpServers": {
    "discogs": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR/PROJECT/FOLDER/src/index.ts"
      ],
      "env": {
        "DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Docker

The docker image should have been built before using this method.

Copy & paste β€” that's it
{
  "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.

LibreChat

In the librechat.yaml configuration file, add this under the mcpServers section:

Copy & paste β€” that's it
discogs:
  type: stdio
  command: npx
  args: ["-y", "discogs-mcp-server"]
  env:
    DISCOGS_PERSONAL_ACCESS_TOKEN: YOUR_TOKEN_GOES_HERE

LM Studio

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:

Copy & paste β€” that's it
"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.

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.