项目简介

本项目是一个MCP服务器实现,旨在为Claude桌面应用提供与Spotify音乐平台的集成能力。通过遵循Model Context Protocol (MCP) 协议,它允许Claude桌面应用以标准化的方式调用Spotify的各项功能,从而实现更丰富的交互体验。

主要功能点

  • Spotify 账户认证: 支持通过OAuth 2.0协议安全认证Spotify账户。
  • 音乐搜索: 允许Claude搜索Spotify上的歌曲、专辑、艺术家和播放列表。
  • 播放控制: 提供播放、暂停、下一曲、上一曲等基本的播放控制功能。
  • 播放列表管理: 支持创建、查看和管理Spotify播放列表,包括添加歌曲到播放列表。
  • 个性化推荐: 基于用户偏好和历史记录,为用户提供音乐推荐。

安装步骤

  1. 克隆仓库: 首先,将GitHub仓库 'mcp-claude-spotify' 克隆到本地。

    git clone https://github.com/imprvhub/mcp-claude-spotify
    cd mcp-claude-spotify
  2. 安装依赖: 使用npm安装项目所需的依赖包。

    npm install
  3. 构建项目 (如需修改源码): 如果您计划修改项目源代码,请执行构建命令。如果仅使用预构建版本,则可以跳过此步骤。

    npm run build
  4. 配置Spotify API 凭据: 您需要在 Spotify开发者仪表板 创建应用,获取 Client ID 和 Client Secret。创建应用时,请务必将 Redirect URI 设置为 'http://127.0.0.1:8888/callback'。

  5. 配置Claude Desktop: 编辑Claude Desktop的配置文件 'claude_desktop_config.json' (路径见README),添加如下server配置。如果文件不存在则手动创建。

    {
      "mcpServers": {
        "spotify": {
          "command": "node",
          "args": ["/path/to/mcp-claude-spotify/build/index.js"],
          "env": {
            "SPOTIFY_CLIENT_ID": "your_client_id_here",
            "SPOTIFY_CLIENT_SECRET": "your_client_secret_here"
          }
        }
      }
    }
    • '/path/to/mcp-claude-spotify' 请替换为 'mcp-claude-spotify' 仓库在您电脑上的绝对路径
    • 'your_client_id_here' 请替换为 您在Spotify开发者仪表板获取的 Client ID
    • 'your_client_secret_here' 请替换为 您在Spotify开发者仪表板获取的 Client Secret

基本使用方法

  1. 启动MCP服务器: 配置完成后,重启Claude Desktop,MCP服务器会在需要时自动启动。您也可以手动在项目目录下运行 'node build/index.js' 启动服务器。

  2. Spotify 授权: 在Claude中,使用工具 'auth-spotify' 开始Spotify账户授权流程。按照提示在浏览器中完成授权。授权成功后请重启Claude Desktop 以完成工具注册。

  3. 使用Spotify工具: 授权并重启Claude后,您可以在Claude中使用以下工具与Spotify互动:

    • 'search-spotify': 搜索音乐,例如 'search-spotify query="Drake" type="artist"'
    • 'play-track': 播放指定歌曲,例如 'play-track trackId="歌曲ID"'
    • 'pause-playback': 暂停播放
    • 'next-track': 下一曲
    • 'previous-track': 上一曲
    • 'get-user-playlists': 获取用户播放列表
    • 'create-playlist': 创建播放列表,例如 'create-playlist name="我的新歌单"'
    • 'add-tracks-to-playlist': 添加歌曲到播放列表,例如 'add-tracks-to-playlist playlistId="歌单ID" trackIds=["歌曲ID1", "歌曲ID2"]'
    • 'get-recommendations': 获取音乐推荐,例如 'get-recommendations seedTracks=["歌曲ID"]'

    具体工具参数和使用方法请参考仓库README文档。

信息

分类

桌面与硬件