Discogs MCP 服务器

使用说明(简明版,方便快速上手):

  • 项目简介
    • 这是一个基于 Model Context Protocol (MCP) 的后端服务器,专门为 Discogs 收藏数据设计。它在 Cloudflare Workers 上实现,通过 MCP 标准的 JSON-RPC 形式为 LLM 客户端提供资源读取、工具执行和提示模板渲染等能力。核心内容包括:读取 Discogs 收藏、查询和获取发布信息、以及提供与 Discogs 账户相关的工具与提示。
    • 服务器具备会话管理、鉴权(Discogs OAuth 1.0a)、缓存和结构化的资源/工具/模板注册等能力,能够通过不同传输方式与客户端进行交互(示例中通过 MCP 接口使用 JSON-RPC 形式通信)。
  • 主要功能点
    • MCP 核心端点与协议支持:实现 MCP 的 JSON-RPC 请求/响应处理、初始化握手、能力声明等基本流程。
    • 资源、工具、提示的注册与暴露:提供 discogs://collection、discogs://release/{id} 等资源,以及 search_collection、get_release、get_collection_stats、get_recommendations 等工具,以及面向 Discogs 的提示模板。
    • 认证与会话管理:使用 Discogs OAuth 1.0a 完成用户鉴权,支持基于会话令牌的后端访问控制。
    • 数据缓存与缓存策略:对资源和查询结果使用 KV 存储进行缓存,提供缓存统计与失效策略,减少对外部 Discogs API 的请求次数。
    • 集成测试友好:包含针对 MCP 客户端的集成测试用例,确保请求/响应格式与流程符合 MCP 规范。
  • 安装步骤(简要)
    • 准备环境:Node.js 18+,Cloudflare 账户,并配置 Discogs 开发者账号所需的 Consumer Key/Secret,以及用于签发会话的 JWT 秘钥。
    • 安装依赖:在项目根目录执行安装命令,安装所需的依赖包。
    • 配置环境变量/密钥:
      • DISCOGS_CONSUMER_KEY(Discogs 接入 Key)
      • DISCOGS_CONSUMER_SECRET(Discogs 接入 Secret)
      • JWT_SECRET(用于生成/验证会话令牌)
    • 本地开发与调试:
      • 使用 Wrangler 在本地开发模式运行并调试,或将 Worker 部署到 Cloudflare。
    • 部署与运维:
      • 部署后通过 MCP 客户端(如 Claude、 Windsurf、Zed 等)按 MCP 远程连接要求接入服务器。
  • 服务器配置(供 MCP 客户端使用参考) 说明:MCP 客户端需要知道服务器的启动命令和参数以建立连接。下面给出一个示例配置,具体命令请按实际环境部署调整。 { "serverName": "discogs-mcp", "command": "npx", "args": ["-y", "mcp-remote", "https://discogs-mcp-prod.rian-db8.workers.dev/mcp"] } 注解:
    • serverName: 服务器在 MCP 客户端侧的标识名称,应与实现中使用的服务器名称保持一致(此仓库实现中名称为 discogs-mcp)。
    • command/args: 客户端连接服务器所需的执行命令与参数,示例使用 npm/npx 方式通过 mcp-remote 将 MCP 服务暴露的 URL 连接到客户端。生产环境的 MCP 入口地址为 https://discogs-mcp-prod.rian-db8.workers.dev/mcp。
  • 基本使用方法
    • 部署并启动后,使用 MCP 客户端进行初始化握手,读取服务器能力与描述,并通过登录/鉴权后调用公开的工具、读取资源、获取提示等。
    • 客户端可通过以下方式与服务器交互:初始化握手、发送工具调用请求、请求资源内容、获取或执行 Prompts。
    • 如需进行测试与调试,可使用 MCP Inspector、Claude Desktop、 Windsurf 等客户端工具对接,验证响应格式和能力声明是否符合预期。

服务器信息