项目简介

Discogs MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为大型语言模型(LLM)客户端提供访问 Discogs 音乐数据库和用户数据的功能。它允许用户通过 LLM 客户端以自然语言指令操作 Discogs 平台上的音乐数据,例如搜索唱片信息、管理个人收藏和愿望单等。

主要功能点

  • 数据访问能力: 提供对 Discogs 数据库中 Releases, Artists, Labels, Master Releases 等资源的访问能力。
  • 用户数据管理: 支持访问和管理用户的 Discogs 收藏库和愿望单,包括浏览、添加、删除和评价唱片等操作。
  • 用户身份验证: 通过 Discogs Personal Access Token 进行身份验证,安全访问用户 Discogs 账户数据。
  • 可扩展工具: 提供一系列预定义的工具 (Tools),例如搜索 Discogs 数据库、获取唱片信息、管理用户收藏和愿望单等,方便 LLM 客户端调用。
  • 易于配置: 支持多种运行方式,包括本地开发、Docker 容器和 NPX 快速启动,方便用户快速部署和使用。

安装步骤

  1. 克隆仓库

    git clone https://github.com/cswkim/discogs-mcp-server.git
    cd discogs-mcp-server
  2. 配置环境变量

    • 复制 '.env.example' 文件并重命名为 '.env'。
    • 在 '.env' 文件中设置 'DISCOGS_PERSONAL_ACCESS_TOKEN' 环境变量,填入您的 Discogs 个人访问令牌。您可以在 Discogs Settings > Developers 页面获取。
  3. 安装依赖 如果选择本地 Node.js 运行,请确保已安装 Node.js 和 pnpm。然后运行:

    pnpm install
  4. 启动服务器

    • 本地开发模式 (推荐):
      pnpm run dev
      或使用 SSE 模式:
      pnpm run dev:sse
    • Docker 运行:
      docker build -t discogs-mcp-server:latest .
      docker run --env-file .env discogs-mcp-server:latest
      或使用 SSE 模式:
      docker run --env-file .env -p 3001:3001 discogs-mcp-server:latest sse

服务器配置 (MCP 客户端)

以下是 Claude 桌面应用的 MCP 服务器配置示例 (使用 NPX 方式启动):

{
  "mcpServers": {
    "discogs": {
      "command": "npx",
      "args": [
        "-y",
        "discogs-mcp-server"
      ],
      "env": {
        "DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"  // 替换为您的 Discogs 个人访问令牌
      }
    }
  }
}
  • '"discogs"': 服务器名称,可以自定义。
  • '"command": "npx"': 启动服务器的命令,这里使用 'npx' 直接运行 npm 包。
  • '"args": [...]': 传递给 'npx' 命令的参数,'-y' 表示自动确认安装,'discogs-mcp-server' 是要运行的 npm 包名。
  • '"env": { ... }': 环境变量配置,'DISCOGS_PERSONAL_ACCESS_TOKEN' 用于身份验证,请替换 '<YOUR_TOKEN>' 为您实际的令牌。

注意: 其他 MCP 客户端的配置方式可能略有不同,但核心配置思路类似,都需要指定服务器启动命令及其参数。

基本使用方法

  1. 配置 MCP 客户端(如 Claude 桌面应用),添加上述服务器配置。

  2. 在 MCP 客户端中,即可通过自然语言指令调用 Discogs MCP 服务器提供的工具,例如:

    • 'Search Discogs for releases by artist "The Beatles"' (调用 'search' 工具搜索 Beatles 的唱片)
    • 'Get release information for release ID 123456' (调用 'get_release' 工具获取指定 Release ID 的详细信息)
    • 'Show me my Discogs collection folders' (调用 'get_user_collection_folders' 工具查看个人收藏夹)
    • 'Add release ID 789012 to my "Favorites" collection folder' (调用 'add_release_to_user_collection_folder' 工具添加唱片到指定收藏夹)

更多工具和使用方法请参考仓库中的 TOOLS.md 文件。

信息

分类

网页与API