Skip to main content
Glama

Spotify MCP 服务器

该项目实现了一个模型上下文协议 (MCP)服务器,允许您通过 MCP 客户端(例如CursorClaude for Desktop (仅限 macOS 和 Windows))使用自然语言控制 Spotify 播放。

特征

该服务器公开以下工具:

  • play :播放曲目、专辑或播放列表,或者继续播放。

  • pause :暂停播放。

  • next :跳至下一曲目。

  • previous :跳至上一曲目。

  • get_current_track :获取有关当前播放曲目的信息。

  • search :搜索曲目、专辑、艺术家或播放列表。

Related MCP server: Spotify MCP Server

先决条件

  • Bun (1.0.0 或更高版本)

  • Spotify Premium 帐户。

  • Spotify 开发者应用程序:

    • Spotify 开发者仪表板上创建一个。

    • 获取您的客户端 ID 和客户端密钥。

    • http://localhost:8888/callback添加到应用程序设置中的重定向 URI。

  • MCP 客户端(例如 Cursor 或 Claude for Desktop)。

安装和设置

  1. 克隆存储库:

    git clone https://github.com/obre10off/spotify-mcp.git
    cd spotify-mcp
  2. 安装依赖项:

    bun install
  3. 创建

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

    SPOTIFY_CLIENT_ID=your_spotify_client_id
    SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
    SPOTIFY_REDIRECT_URI=http://localhost:8888/callback
    # These will be filled in after running the auth script:
    SPOTIFY_ACCESS_TOKEN=
    SPOTIFY_REFRESH_TOKEN=
  4. 运行授权脚本:

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

    bun run auth

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

  5. 配置您的 MCP 客户端:

    • 光标:

      • 打开光标的设置(Cmd+, 或 Ctrl+,)。

      • 搜索“模型上下文协议”。

      • 点击“在settings.json中编辑”。

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

        {
            "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(macOS/Windows):

      • 打开 Claude for Desktop 配置文件:

        • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

        • Windows: %APPDATA%\Claude\claude_desktop_config.json

      • 将以下内容添加到mcpServers对象(将/absolute/path/to/your/spotify-mcp替换为spotify-mcp目录的绝对路径):GXP6

    • **重要提示:**在客户端配置中始终使用绝对路径。

  6. 重启 MCP 客户端

    确保重新启动 MCP 客户端(Cursor/Claude)以应用设置。

运行服务器

bun run start


This command starts the server with automatic reloading on file changes (thanks to Bun's --watch flag). Keep this terminal window open while you're using the server.


## Usage

Once the server is running and your MCP client is configured, you can start using natural language commands to control Spotify. Examples:

"Play Bohemian Rhapsody"

"Pause the music"

"What song is playing?"

"Search for Taylor Swift albums"

"Next track"

"Play spotify:track:4uLU6hMCjMI75M1A2tKUQC"
-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/obre10off/spotify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server