使用说明
Cloudflare Workers上的Spotify MCP服务器(OAuth,多用户)
此服务器现在配置为生产风格的多用户身份验证:
- MCP客户端通过此Worker上的OAuth端点进行身份验证。
- 用户使用自己的Spotify应用程序凭据(BYO客户端ID/密码)向Spotify授权。
- 用户刷新令牌和BYO客户端凭据存储在加密的OAuth props中。
建筑
- MCP API:
/mcp - OAuth授权:
/authorize - OAuth令牌:
/token - OAuth客户端注册:
/register - Spotify回拨:
/callback
1) 安装
cd /Users/omshah/Desktop/MCP/spotify-mcp-cloudflare
npm install
2) 创建KV命名空间(用于OAuth状态)
npx wrangler kv namespace create OAUTH_KV
将返回的ID复制到 wrangler.jsoc 在:
kv_namespaces[0].id
3) 设置工人秘密
npx wrangler secret put COOKIE_ENCRYPTION_KEY
npx wrangler secret put ALLOWED_MCP_CLIENT_IDS
COOKIE_ENCRYPTION_KEY 应该是一个长随机字符串。
ALLOWED_MCP_CLIENT_IDS 可选(逗号分隔)。如果设置,则只有那些MCP OAuth客户端ID可以授权。
可选的回退秘密(仅当您想要默认应用程序而不是严格的BYO时):
npx wrangler secret put SPOTIFY_CLIENT_ID
npx wrangler secret put SPOTIFY_CLIENT_SECRET
4) Spotify应用程序设置
每个用户都应该在Spotify开发者仪表板中创建一个Spotify应用程序,并将重定向URI设置为:
- 当地:
http://localhost:8788/callback - 生产:
https://<your-worker>.workers.dev/callback
Spotify中的重定向URI必须与您使用的环境完全匹配。
5) 运行本地
npm run dev
6) 部署
npm run deploy
安全须知
- 此版本删除了原始刷新令牌工具输入。
- 令牌与经过身份验证的OAuth会话相关联。
- 保持
COOKIE_ENCRYPTION_KEY如果被泄露,则进行保密和轮换。 - 默认情况下,调试身份验证作用域工具处于禁用状态。仅暂时启用
ENABLE_DEBUG_TOOLS=true.