Spotify MCP 服务器(WebSocket + JSON-RPC,已准备好渲染)
这是一个 极简风格,MCP风格 会说话的Spotify服务器 通过WebSocket的JSON-RPC (at /mcp) 并提供一个HTTP OAuth流程 (/auth, /callback) 以获取Spotify令牌。 它旨在部署到支持WebSockets的平台(例如。, 渲染, 铁路, Fly.io)。 一旦获得授权,您就可以指示ChatGPT的 自定义MCP服务器 at: (这个短语在中文里通常不单独翻译,因为它是一个介词短语的一部分,需要根据上下文来确定具体含义。如果直接翻译,可以理解为“在……”或者“关于……”,但具体翻译需结合上下文。)
wss://YOUR-RENDER-DOMAIN/mcp代币模型为了简化,这个演示程序存储 一个全球通用的Spotify令牌 (在您访问之后 /auth (仅)一次。 所有MCP工具调用都使用此令牌。如有需要,请替换为每个用户的存储(如Redis、数据库等)。特点/特性
- 通过 WebSocket 的 JSON-RPC 2.0 在
/mcp(使用)方法:
- initialize → 返回服务器名称/版本 - tools/list → 返回可用工具 - tools/call → { name, args } 调用一个工具
- 工具:
- search (q) → 搜索曲目 - play (上下文URI?,URIs?) - pause, next, prev - create_playlist (名称,公开=false,追踪URI?)
- OAuth 端点:
/auth,/callback
快速部署(渲染)
- 在 https://developer.spotify.com/dashboard 创建一个Spotify应用
- 添加重定向URI(在您了解您的Render域名后): https://YOUR-RENDER-DOMAIN/callback
- 在渲染中,创建一个 网络服务 来自这个仓库(Node 18+)。
- 构建命令: npm install - 启动命令: node server.js - 环境变量 (制作): - SPOTIFY_CLIENT_ID - SPOTIFY_CLIENT_SECRET - SPOTIFY_REDIRECT_URI → https://YOUR-RENDER-DOMAIN/callback - SESSION_SECRET → 任何随机字符串
- 部署后,请访问:
https://YOUR-RENDER-DOMAIN/auth并完成Spotify的授权。 - 在ChatGPT → 设置 → 连接器 → 添加MCP服务器:
- 服务器URL: wss://YOUR-RENDER-DOMAIN/mcp - 认证: 未进行身份验证
- 在ChatGPT中测试:“搜索一首lo-fi歌曲并播放”。
本地开发
- 创建一个带有重定向URI的Spotify应用程序
http://localhost:8888/callback - 复制
.env.example到;向;对于;为了.env,填充值。 npm install && npm run dev- 访问
http://localhost:8888/auth先连接一次,然后(继续)连接ws://localhost:8888/mcp来自测试MCP客户端。
备注
- 需要Spotify高级会员才能进行播放/暂停/下一首/上一首操作,并且需要设备处于活跃状态。
- 在多用户场景中,将内存中的全局令牌替换为持久化存储。
- 这是一个 最小的;最少的 MCP;根据需要适应您客户的MCP架构。
