返回市场
discogs麦普服务器

discogs麦普服务器

作者:cswkim67 星标更新:2025-11-18

项目介绍

License GitHub Release GitHub Actions Workflow Status NPM Downloads Sponsor

Discogs MCP Server

用于Discogs API的MCP服务器,支持音乐目录操作、搜索功能等。

快速开始

如果你只想立即使用这个MCP服务器与Claude桌面应用,并且不关心开发或自己运行服务器,请确保已安装Node.js,并准备好你的Discogs个人访问令牌,然后直接跳转到Claude配置部分。使用该部分中的NPX方法。

目录

致谢

此MCP服务器使用FastMCP构建,这是一个用于构建MCP服务器的TypeScript框架。有关MCP及其如何使用MCP服务器的更多信息,请参阅FastMCP文档官方MCP文档

可用工具

查看可用工具列表:TOOLS.md

注意事项

  • Discogs API文档并不完美,某些端点可能没有完全记录或存在不一致。
  • 由于API端点和响应类型众多,验证每个可能响应的类型安全性是不可行的。请报告您遇到的任何类型相关问题。
  • 此MCP服务器允许编辑您的Discogs收藏数据。请谨慎使用,并在执行操作前进行验证。
  • Discogs API的per_page默认值为50,这可能对某些客户端来说处理起来过多的数据,因此在此项目中设置了discogs.config.defaultPerPage值为5。您可以在提示中请求更多数据,但请注意一些客户端可能难以处理较大的响应。

先决条件

  • Node.js(已测试Node.js 20.x.x,但18.x.x也应能工作)
    • 检查您的Node.js版本:node --version
  • Docker(可选,用于无需处理Node或依赖项即可运行本地Docker镜像)

设置

  1. 克隆仓库
  2. 根据.env.example在根目录创建一个.env文件
  3. 在您的.env中设置以下必需的环境变量:
    • DISCOGS_PERSONAL_ACCESS_TOKEN:您的Discogs个人访问令牌

要获取您的Discogs个人访问令牌,请前往您的Discogs设置 > 开发者页面,找到您的令牌或生成一个新的。不要分享您的令牌。OAuth支持将在未来的版本中添加。

.env.example中的其他环境变量是可选的,并具有合理的默认值,除非您有特定需求,否则不需要设置它们。

  • SERVER_HOST:服务器绑定的主机地址(默认:0.0.0.0)。设置为0.0.0.0以允许来自容器/机器外部的连接,或者设置为127.0.0.1仅限于本地主机。

本地运行服务器

选项1:本地开发

  1. 安装依赖:

    pnpm install
    
  2. 可用命令:

    • pnpm run dev:启动带有热重载的开发服务器
    • pnpm run dev:stream:启动带有热重载的HTTP流模式开发服务器
    • pnpm run build:构建生产版本
    • pnpm run start:运行生产构建
    • pnpm run inspect:运行MCP检查器(见检查部分)
    • pnpm run format:检查代码格式化(Prettier)
    • pnpm run lint:运行代码检查器(ESLint)
    • pnpm run test:运行vitest
    • pnpm run test:coverage:运行vitest v8覆盖率
    • pnpm run version:check:检查package.json版本和src/version.ts是否匹配

选项2:Docker

  1. 构建Docker镜像:

    docker build -t discogs-mcp-server:latest .
    
  2. 运行容器:

    docker run --env-file .env discogs-mcp-server:latest
    

    对于HTTP流传输模式:

    # 端口应与您的.env文件中的匹配
    # 默认情况下,服务器监听0.0.0.0,允许来自容器外部的连接
    docker run --env-file .env -p 3001:3001 discogs-mcp-server:latest stream
    

检查

运行MCP检查器来测试您的本地MCP服务器:

pnpm run inspect

这将在http://127.0.0.1:6274启动MCP检查器。在浏览器中访问此URL以与您的本地MCP服务器交互。

有关MCP检查器的更多信息,请访问官方文档

MCP客户端

未来将添加更多的客户端示例。如果您希望为特定客户端配置,可以通过打开新问题或创建拉取请求自行编辑此README的部分。

Claude桌面配置

Claude > 设置 > 开发者 > 编辑配置中找到您的claude_desktop_config.json,根据您选择的选项,添加以下内容中的仅一项

NPX

直接从npm注册表运行。

{
  "mcpServers": {
    "discogs": {
      "command": "npx",
      "args": [
        "-y",
        "discogs-mcp-server"
      ],
      "env": {
        "DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

本地Node

在使用此方法之前,应该已经安装了依赖项(pnpm install)。

{
  "mcpServers": {
    "discogs": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR/PROJECT/FOLDER/src/index.ts"
      ],
      "env": {
        "DISCOGS_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Docker

在使用此方法之前,应该已经构建了Docker镜像。

{
  "mcpServers": {
    "discogs": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--env-file",
        "/PATH/TO/YOUR/PROJECT/FOLDER/.env",
        "discogs-mMCP服务器:latest"
      ]
    }
  }
}

对本地代码的任何更改都需要重新启动Claude才能生效。此外,Claude需要人工干预以允许运行MCP工具,因此每次访问新工具时Claude都会要求权限。通常,您只需在每次聊天中为每个工具做一次。如果使用免费版本,长时间聊天可能会导致更频繁的错误尝试运行工具,因为Claude限制了单个聊天中的上下文量。

LibreChat

librechat.yaml配置文件中,在mcpServers部分下添加以下内容:

discogs:
  type: stdio
  command: npx
  args: ["-y", "discogs-mcp-server"]
  env:
    DISCOGS_PERSONAL_ACCESS_TOKEN: YOUR_TOKEN_GOES_HERE

LM Studio

进入聊天设置。在程序标签页中有一个默认为安装的下拉菜单。选择编辑mcp.json。在mcpServers部分下添加以下内容:

"discogs": {
  "command": "npx",
  "args": [
    "-y",
    "discogs-mcp-server"
  ],
  "env": {
    "DISCOGS_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN_GOES_HERE"
  }
}

保存后,在程序标签页中现在应该有一个mcp/discogs切换按钮来启用服务器。在每个聊天框中都有一个集成菜单,您也可以在那里启用MCP服务器。

待办事项

  • OAuth支持
  • 缺失的工具:
    • 库存上传

许可证

此MCP服务器根据MIT许可证发布。这意味着您可以自由地使用、修改和分发软件,但需遵守MIT许可证的条款和条件。详情请参阅项目存储库中的LICENSE文件。