Spotify MCP服务器

一个模型上下文协议(MCP)服务器,使AI助手如Claude能够与Spotify交互,搜索和播放曲目。

  • by ejfox
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ejfox/vulpes-spotify-mcp

使用说明

Vuples Spotify MCP服务器

一个模型上下文协议(MCP)服务器,使像克劳德这样的人工智能助手能够与Spotify交互,允许他们搜索和播放曲目。

特性

  • 按艺术家、标题或任何查询搜索曲目
  • 直接在活动的Spotify设备上播放曲目
  • 获取有关您当前播放曲目的信息
  • 查找可用的Spotify播放设备
  • 组合搜索和播放功能
  • 列出用户的Spotify播放列表
  • 查看播放列表中的曲目
  • 播放播放列表(可选随机播放模式)
  • 按名称查找和播放播放列表

需求

  • Node.js(v16+)
  • Spotify开发者帐户
  • Spotify Premium帐户(用于播放功能)
  • MCP兼容客户端(例如Claude Desktop)

安装

通过Smithery安装

通过以下方式自动为Claude Desktop安装Vulpes Spotify服务器 史密瑟里:

npx -y @smithery/cli install @ejfox/vulpes-spotify-mcp --client claude

手动安装

  1. 克隆此存储库:

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

    npm install
    
  3. 创建一个 .env 使用您的Spotify API证书提交文件:

    SPOTIFY_CLIENT_ID=your_client_id
    SPOTIFY_CLIENT_SECRET=your_client_secret
    SPOTIFY_REDIRECT_URI=http://localhost:8888
    
    # Optional: For playback control
    SPOTIFY_REFRESH_TOKEN=your_refresh_token
    

    您可以从以下网址获取您的客户ID和密码 Spotify开发者仪表板.

  4. 生成刷新令牌(播放控制所需):

    有两种方法可以获取刷新令牌:

    选项1:使用内置脚本

    npm run get-token
    

    这将启动本地服务器并在终端中提供指令。

    选项2:使用简单脚本(如果选项1不起作用)

    node src/simple-auth.js
    

    这将为您提供一个在浏览器中打开的URL。授权后,您将被重定向到一个URL。将该URL复制回终端,它将向您显示一个curl命令以获取刷新令牌。

    所需范围(已包含在脚本中):

    • user-read-playback-state
    • user-modify-playback-state
    • user-read-currently-playing
    • playlist-read-private
    • playlist-read-collaborative
  5. 将刷新令牌添加到您的 .env 文件:

    SPOTIFY_REFRESH_TOKEN=your_refresh_token
    
  6. 构建项目:

    npm run build
    

使用Claude Desktop

  1. 首先,确保Spotify已打开并在您的设备上播放

  2. 将此服务器添加到您的Claude Desktop配置中:

    编辑您的 claude_desktop_config.json 文件(通常在 ~/Library/Application Support/Claude/ 在macOS或 %APPDATA%\\Claude\\ 在Windows上):

    {
      "mcpServers": {
        "spotify": {
          "command": "node",
          "args": ["/absolute/path/to/vulpes-spotify-mcp/dist/index.js"],
          "env": {
            "SPOTIFY_CLIENT_ID": "your_client_id",
            "SPOTIFY_CLIENT_SECRET": "your_client_secret",
            "SPOTIFY_REDIRECT_URI": "http://localhost:8888",
            "SPOTIFY_REFRESH_TOKEN": "your_refresh_token"
          }
        }
      }
    }
    

    确保更换 /absolute/path/to/vulpes-spotify-mcp 了解项目的实际路径。

  3. 重新启动克劳德桌面

  4. 现在,当您在Claude Desktop中单击锤子图标时,您应该看到可用的Spotify工具

可用工具

  • spotify搜索:按查询搜索曲目
  • 恶搞剧:按ID或URI播放特定曲目
  • spotify当前正在播放:获取当前播放曲目的信息
  • spotify设备:列出可用的Spotify播放设备
  • spotify搜索和播放:搜索曲目并自动播放顶部结果
  • spotify播放列表:获取用户的Spotify播放列表列表
  • spotify播放列表曲目:从特定播放列表中获取曲目
  • spotify播放列表:播放特定播放列表(可选随机播放)
  • spotify查找播放列表:按名称查找播放列表并播放(建议用于AI)

故障排除

  • “未找到活动设备”:确保Spotify已打开,并在您的至少一台设备上播放
  • “缺少权限”:您的刷新令牌可能没有所需的作用域
  • “不是保费”:播放控制需要Spotify Premium帐户
  • “刷新令牌问题”:如果您的令牌过期,请使用安装部分中的步骤生成一个新的令牌

重要提示

  1. 在使用播放控制之前,始终确保Spotify在至少一台设备上打开
  2. 您的刷新令牌 .env 文件和Claude Desktop配置必须匹配
  3. 更改配置后,重新启动Claude Desktop

许可证

麻省理工学院