o

obre10off

@obre10off/spotify-mcp
0 Stars 344 次浏览 obre10off 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Spotify MCP 服务器

本项目实现了一个 Model Context Protocol (MCP) 服务器,允许您通过自然语言使用 MCP 客户端(如 CursorClaude for Desktop(仅限 macOS 和 Windows))来控制 Spotify 播放。

功能

该服务器提供了以下工具:

  • play:播放曲目、专辑或播放列表,或恢复播放。
  • pause:暂停播放。
  • next:跳到下一首曲目。
  • previous:跳到上一首曲目。
  • get_current_track:获取当前播放曲目的信息。
  • search:搜索曲目、专辑、艺术家或播放列表。

前提条件

  • Bun(版本 1.0.0 或更高)
  • 一个 Spotify Premium 账户。
  • 一个 Spotify 开发者应用程序:
    • Spotify 开发者仪表板创建一个。
    • 获取您的 Client ID 和 Client Secret。
    • http://localhost:8888/callback 添加到您的应用设置中的 Redirect URIs。
  • 一个 MCP 客户端(例如 Cursor 或 Claude for Desktop)。

安装和设置

  1. 克隆仓库:

    bash
    git clone https://github.com/obre10off/spotify-mcp.git
    cd spotify-mcp

  2. 安装依赖项:

    bash
    bun install

  3. 创建 .env 文件:

    在项目目录的根目录下创建一个名为 .env 的文件。将以下内容添加进去,并用您的实际 Spotify 凭证替换占位符:

    SPOTIFY_CLIENT_ID=your_spotify_client_id
    SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
    SPOTIFY_REDIRECT_URI=http://localhost:8888/callback

    运行认证脚本后填写这些值:

    SPOTIFY_ACCESS_TOKEN=
    SPOTIFY_REFRESH_TOKEN=

  4. 运行授权脚本:

    该脚本将打开您的浏览器,提示您登录 Spotify 并授予权限,然后检索您的初始访问令牌和刷新令牌。

    bash
    bun run auth

    脚本会将 SPOTIFY_ACCESS_TOKENSPOTIFY_REFRESH_TOKEN 打印到控制台。将这些值复制到您的 .env 文件中。

  5. 配置您的 MCP 客户端:

    • Cursor:

      • 打开 Cursor 设置(Cmd+, 或 Ctrl+,)。

      • 搜索 "Model Context Protocol"。

      • 点击 "Edit in settings.json"。

      • mcp.servers 数组中添加以下内容(将 /absolute/path/to/your/spotify-mcp 替换为您的 spotify-mcp 目录的绝对路径):

        json
        {
        "mcp.servers": [
        {
        "spotify": {
        "command": "bun",
        "args": ["/absolute/path/to/your/spotify-mcp/src/index.ts"],
        "env": {
        "SPOTIFY_CLIENT_ID": "your_spotify_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_spotify_client_secret",
        "SPOTIFY_REDIRECT_URI": "http://localhost:8888/callback",
        "SPOTIFY_ACCESS_TOKEN": "your_spotify_access_token",
        "SPOTIFY_REFRESH_TOKEN": "your_spotify_refresh_token"
        }
        }
        }
        ]
        }

        建议使用 .env 文件,并仅在其中放置与 Spotify 相关的环境变量,而不是将值添加到 settings.json 文件中。

    • Claude for Desktop (macOS/Windows):

      • 打开 Claude for Desktop 配置文件:
        • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
        • Windows: %APPDATA%Claudeclaude_desktop_config.json* 在 mcpServers 对象中添加以下内容(将 /absolute/path/to/your/spotify-mcp 替换为您的 spotify-mcp 目录的绝对路径):
          json
          {
          "mcpServers": {
          "spotify": {
          "command": "bun",
          "args": ["/absolute/path/to/your/spotify-mcp/src/index.ts"]
          }
          }
          }

    建议使用 .env 文件,并仅在其中放置与 Spotify 相关的环境变量,而不是将这些值添加到 claude_desktop_config.json 文件中。

  • 重要提示: 在客户端配置中始终使用绝对路径。
  1. 重启您的MCP客户端

    确保重启您的MCP客户端(Cursor/Claude),以应用设置。

运行服务器

bash
bun run start

此命令会启动服务器,并在文件更改时自动重新加载(感谢Bun的 --watch 标志)。在使用服务器期间,请保持此终端窗口打开。

使用方法

一旦服务器运行并且您的MCP客户端已配置完毕,您可以开始使用自然语言命令来控制Spotify。示例:

  • "播放《波西米亚狂想曲》"
  • "暂停音乐"
  • "正在播放什么歌曲?"
  • "搜索泰勒·斯威夫特的专辑"
  • "下一首"
  • "播放 spotify:track:4uLU6hMCjMI75M1A2tKUQC"

相关 MCP 服务