← 返回目录
S

Spotify Streamable MCP Server

社区
面向 Spotify 的 MCP 服务器,支持搜索、播放控制、播放列表和已保存曲目管理。
分类
其他 第 64 / 230
Stars
★ 80 热门
传输方式
Streamable HTTP
运行环境
Bun · Node.js
凭据
需要 API Key / 凭据
许可证
MIT
最近提交
工具数
5
61FMRS · C

该服务器为 Spotify 提供了实用的 MCP 集成,具有批量操作和清晰的反馈。但需注意其针对 MCP 候选版本,并需谨慎处理 OAuth 和安全配置。

最强项 · 文档质量 17/20 最弱项 · 可靠性 8/20

可靠性
8/20
安全与权限
14/20
维护活跃度
9/20
文档质量
17/20
安装易用性
13/20
查看各项评分依据
可靠性 8/20
提供的材料只有 README 和仓库元数据,没有源码、CI 工作流、测试文件或运行日志可核验。README 描述了六个工具和启动命令,并诚实警告目标协议是 2026-07-28 候选版且固定 beta 包,不能视为符合最终版本。Happy path 看起来可行,但没有任何可验证的执行证据;按静态校准规则,可靠性不能超过 12,故给 8 分。
安全与权限 14/20
README 展示了较强的安全设计:Host/Origin 校验、严格 CORS、请求体大小限制、不透明 Resource Server token 映射、工具不使用入站 bearer、不接触 Spotify refresh token、AES-256-GCM 加密存储、OAuth 重定向白名单。未发现恶意代码或凭据窃取等红线问题。但源码未提供,无法验证实现;且 MCP_REQUIRED_SCOPES 默认为空,未配置加密密钥时 token 会明文存储,这些都是明显风险,因此扣分后给 14 分。
维护活跃度 9/20
元数据显示 80 stars、0 open issues、未归档,README 声明 MIT,但元数据中 license 为 unknown;没有提交历史、release、依赖更新记录、安全响应渠道或 changelog,且固定使用 beta 包。stars 只作为发现信号,不计入得分。由于治理和版本管理无法确认,给 9 分。
文档质量 17/20
README 质量很高:功能列表、快速开始、.env 示例、Spotify Dashboard 配置、六个工具的完整参数和输出、示例会话、HTTP 与凭据边界、Claude Desktop 配置、Cloudflare Workers 部署、开发命令、架构和故障排查;还披露了候选协议状态和仍需真实账号验证的缺口。扣分点是缺少独立文档和可验证的 CI 证据,生产细节仍需操作者自行补齐,故给 17 分。
安装易用性 13/20
README 提供了从零到连接的明确步骤:bun install、配置 .env、Spotify 重定向 URI、bun dev,并给出了 Claude Desktop 的 client 配置示例;Cloudflare Workers 也有分步部署说明。但流程需要 Bun、Spotify 开发者账号、OAuth 回调、可选加密密钥和 Worker 配置,步骤较多且依赖外部服务;没有可验证的执行证据,按静态校准不能超过 15,故给 13 分。

静态评测 · 未实际运行收录于 2026-08-07

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络修改第三方账户数据

适合谁

  • 希望将 Spotify 播放控制集成到 AI 助手或工作流中的开发者
  • 需要语音控制音乐的场景
  • 需要批量处理音乐搜索和播放列表操作的代理

不适合谁

  • 需要稳定、正式 MCP 协议版本的场景(当前针对候选版本)
  • 不希望配置 OAuth 和 Spotify API 凭据的用户
  • 需要精细控制 Spotify API 全部原始功能的开发者

所需权限

  • 读取播放状态,修改播放控制(播放、暂停、跳曲、音量等)
  • 读取和修改播放列表(私有、协作、公开)
  • 读取和修改用户库中的已保存歌曲
  • 访问用户当前播放的曲目和设备信息

风险与副作用

  • OAuth 令牌以文件或 KV 存储,未加密时可能存在安全风险
  • 需要正确的设备 ID,否则播放控制可能失败
  • 播放行为依赖 Spotify 账户类型(免费版可能受限)及其 Premium 服务
  • 由于针对 MCP 候选版本,协议兼容性可能随时间变化

安装接入

准备工作

运行环境:Bun · Node.js

SPOTIFY_CLIENT_ID 必填 Spotify 应用的客户端 ID,在 developer.spotify.com/dashboard 创建应用获取。
SPOTIFY_CLIENT_SECRET 必填密钥 Spotify 应用的客户端密钥,从 Spotify Developer Dashboard 获取,属机密。
TOKENS_ENC_KEY 可选密钥 Workers 部署用于加密令牌的 AES-256-GCM 密钥(32 字节 base64url),属机密;未设置时令牌明文存储。
RS_TOKENS_ENC_KEY 可选密钥 Bun 与新版 Worker 使用的令牌加密密钥,与 TOKENS_ENC_KEY 等效,属机密。
其他可选配置项(12 个)
PORT 可选 Bun 服务器监听端口,默认示例为 3000。
AUTH_ENABLED 可选 是否启用 MCP 鉴权边界。
MCP_PUBLIC_URL 可选 对外暴露的 MCP 端点地址,例如 http://localhost:3000/mcp。
MCP_ALLOWED_HOSTS 可选 允许访问的 Host 列表,逗号分隔。
MCP_ALLOWED_ORIGIN_HOSTNAMES 可选 允许的 Origin 主机名列表,逗号分隔。
MCP_LEGACY_MODE 可选 遗留协议模式,示例为 stateless。
MCP_MAX_REQUEST_BYTES 可选 请求体大小上限,示例 1048576。
OAUTH_SCOPES 可选 向 Spotify 申请的 OAuth 权限范围,如播放控制、播放列表、曲库等。
OAUTH_REDIRECT_URI 可选 OAuth 授权回调地址,需在 Spotify Dashboard 注册。
OAUTH_REDIRECT_ALLOWLIST 可选 允许的回调地址白名单。
MCP_REQUIRED_SCOPES 可选 可选,要求客户端记录必须包含的权限范围,缺省为空。
AUTH_DISCOVERY_URL 可选 生产部署时可配置的授权发现地址。
  1. 克隆仓库并进入目录。
  2. 运行 bun install 安装依赖。
  3. 从 .env.example 复制 .env 并填写 Spotify 客户端 ID/密钥、OAuth 回调 URI 等。
  4. 在 Spotify Developer Dashboard 中注册重定向 URI。
  5. 运行 bun dev 启动服务器。
  6. 对于 Claude Desktop,使用提供的配置示例。
claude_desktop_config.json
{
  "mcpServers": {
    "spotify": {
      "command": "bunx",
      "args": [
        "mcp-remote",
        "http://127.0.0.1:3000/mcp",
        "--transport",
        "http-only"
      ],
      "env": {
        "NO_PROXY": "127.0.0.1,localhost"
      }
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "spotify": {
      "command": "bunx",
      "args": [
        "mcp-remote",
        "http://127.0.0.1:3000/mcp",
        "--transport",
        "http-only"
      ],
      "env": {
        "NO_PROXY": "127.0.0.1,localhost"
      }
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add spotify -e NO_PROXY=127.0.0.1,localhost -- bunx mcp-remote http://127.0.0.1:3000/mcp --transport http-only

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

启动服务后在客户端工具列表中应出现 search_catalog、player_status、spotify_control、spotify_playlist、spotify_library 五个工具;运行 bun dev 后可通过 http://127.0.0.1:3000/health 检查健康状态,或在客户端直接调用 player_status 查看播放器和设备信息。

常见排障

  1. 出现“设备未找到”时,检查是否使用了设备 ID 而非名称
  2. 出现“无活动设备”时,确保 Spotify 已在某设备上打开
  3. 出现“未授权”时,重新完成 OAuth 流程或检查令牌是否过期
  4. 出现“请求太频繁”时,等待后重试

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 现在在播放什么?有哪些可用设备?
  • 搜索 Come with Me 这首歌,然后在 MacBook Pro 上播放
  • 把当前播放的歌曲添加到我的收藏
  • 把音量调到 100%,然后播放下一首

工具能力 5

search_catalog 只读
搜索歌曲、艺术家、专辑或播放列表。
player_status 只读
获取当前播放器状态、设备、队列和当前曲目。
spotify_control 写入
批量控制播放(播放、暂停、下一首、上一首、跳转、音量、随机播放、重复、转移、排队)。
spotify_playlist 写入
管理播放列表(列出、获取、项目、创建、更新、添加/删除项目、重新排序)。
spotify_library 写入
管理已保存曲目(获取、添加、删除、检查是否已保存)。

使用场景

通过自然语言查找音乐,例如“播放某电影原声带”或“创建符合我心情的播放列表”
通过语音控制播放,如“暂停”“下一首”
批量管理播放列表,如将多首歌曲添加或移除
查看当前播放状态和设备信息

支持客户端

Claude Desktop

依据项目文档列出,未经本站实测。

详细介绍

该服务器通过 MCP 接口提供对 Spotify API 的访问。它允许 AI 助手执行音乐搜索、播放控制(播放、暂停、跳曲、音量等)、设备切换、播放列表创建与编辑、以及保存/取消保存歌曲等操作。它使用 OAuth 2.1 代理进行认证,并支持 Bun 和 Cloudflare Workers 双运行时。注意:该仓库针对 MCP 候选协议(2026-07-28)和 SDK 2.0.0-beta.5 版本,尚未符合最终发布版本。

同类可选方案

BioMCP 75 · B

统一的命令行语法,接入约30个可信生物医学数据源。

★ 659 · 工具数 11 与当前对比 →

源版本 d39ada3924db 数据同步于 2026-10-19 查看 FMRS 评分方法