Spotify MCP Server

Spotify MCP Server

一个模型上下文协议(Model Context Protocol,MCP)服务器,它允许通过 MCP 客户端(如 Cursor 或 Claude for Desktop)中的自然语言命令来控制 Spotify 的播放。

Category
访问服务器

README

Spotify MCP 服务器

本项目实现了一个 模型上下文协议 (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. 克隆存储库:

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

    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 并授予权限,然后检索你的初始访问令牌和刷新令牌。

    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 目录的绝对路径):

        {
            "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%\Claude\claude_desktop_config.json
      • 将以下内容添加到 mcpServers 对象(将 /absolute/path/to/your/spotify-mcp 替换为你的 spotify-mcp 目录的绝对路径):
       {
         "mcpServers": {
           "spotify": {
             "command": "bun",
             "args": ["/absolute/path/to/your/spotify-mcp/src/index.ts"]
           }
         }
       }
       ```
       建议使用 `.env` 文件,并且只将与 Spotify 相关的环境变量放在那里,而不是将值添加到 `claude_desktop_config.json` 文件中。
      
      
    • 重要提示: 始终在你的客户端配置中使用绝对路径。

  6. 重启你的 MCP 客户端

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

运行服务器

bun run start

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

用法

服务器运行且你的 MCP 客户端配置完成后,你可以开始使用自然语言命令来控制 Spotify。 示例:

"Play Bohemian Rhapsody"

"Pause the music"

"What song is playing?"

"Search for Taylor Swift albums"

"Next track"

"Play spotify:track:4uLU6hMCjMI75M1A2tKUQC"

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选