Spotify MCP服务器

本项目是一个基于 Model Context Protocol (MCP) 的 Spotify 服务器实现,旨在为支持 MCP 协议的客户端(如 Claude)提供与 Spotify 音乐平台交互的能力。通过此服务器,你可以使用自然语言指令,让 LLM 客户端调用 Spotify 的功能,例如搜索歌曲、创建播放列表等。

主要功能点:

  • 歌曲搜索 (search_songs): 允许你通过关键词在 Spotify 上搜索歌曲,并返回搜索结果列表。
  • 创建播放列表 (create_playlist): 允许你创建新的 Spotify 播放列表,并添加歌曲到播放列表中。创建成功后,会返回播放列表的 Spotify URI 链接,可以直接点击在 Spotify 应用中打开。

安装步骤:

  1. 安装 Node.js 和 npm: 确保你的电脑上已经安装了 Node.js 和 npm (Node 包管理器)。你可以从 nodejs.org 下载安装。
  2. 克隆仓库: 将 GitHub 仓库 'spotify-mcp' 克隆到本地。
    git clone https://github.com/carllapierre/spotify-mcp.git
    cd spotify-mcp
  3. 安装依赖: 在项目根目录下运行以下命令安装项目依赖。
    npm install
  4. 构建项目: 运行以下命令构建 TypeScript 代码。
    npm run build
  5. 配置 Spotify API 密钥:
    • 访问 Spotify Developer 网站 并创建一个开发者账号。
    • 创建一个新的应用,获取 Client IDClient Secret
    • 在你的 Spotify 应用设置中,将 Redirect URIs 设置为 'http://localhost:8888/callback'。
    • 在项目根目录下创建 '.env' 文件,并填入以下内容,替换为你自己的 Spotify API 密钥:
      SPOTIFY_CLIENT_ID=你的_Client_ID
      SPOTIFY_CLIENT_SECRET=你的_Client_Secret
      SPOTIFY_REDIRECT_URI=http://localhost:8888/callback
  6. 获取 Spotify Refresh Token: 运行以下命令获取 Spotify Refresh Token。
    npx ts-node src/scripts/get-spotify-token.ts
    按照终端提示,访问 'http://localhost:8888/login' 并登录你的 Spotify 账号。授权成功后,Refresh Token 会显示在终端控制台中。
  7. 配置 Refresh Token: 将上一步获取的 Refresh Token 添加到 '.env' 文件中:
    SPOTIFY_REFRESH_TOKEN=你的_Refresh_Token

服务器配置 (用于 MCP 客户端,例如 Claude):

以下 JSON 配置信息用于配置 MCP 客户端,使其能够连接到 Spotify MCP 服务器。你需要将此配置添加到你的 MCP 客户端配置文件中。以 Claude Desktop 为例,配置文件路径通常为:

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

将以下 JSON 代码添加到 'mcpServers' 字段中:

{
  "mcpServers": {
    "SpotifyMCP": {
      "command": "node",
      "args": [
        "/path/to/spotify-mcp/build/index.js"  //  将 "/path/to/spotify-mcp" 替换为你的 spotify-mcp 项目的绝对路径
      ],
      "env": {
        // 环境变量已在 .env 文件中配置,此处无需重复配置,但如果需要,可以在这里添加额外的环境变量
      }
    }
  }
}

基本使用方法:

  1. 启动 Spotify MCP 服务器。在项目根目录下运行:
    npm run start
    或者直接运行构建后的 JavaScript 文件:
    node build/index.js
  2. 配置并启动 MCP 客户端 (例如 Claude)。客户端会自动连接到 Spotify MCP 服务器。
  3. 在 MCP 客户端中,你可以使用自然语言指令来调用 Spotify 的功能。例如,在 Claude 中,你可以这样说:
    • '搜索歌曲 "Shape of You" by Ed Sheeran'
    • '创建一个名为 "My Favorite Songs" 的播放列表,歌曲包括 spotify:track:2dHHgzDwk4BJ052zfZWdZ4, spotify:track:0tgVhk4bnEv7wS0TJua0Rm' (请替换为实际的 Spotify Track URIs)

注意:

  • 确保 '.env' 文件中的 Spotify API 密钥和 Refresh Token 配置正确。
  • '/path/to/spotify-mcp' 需要替换为你实际的项目路径。
  • 歌曲 URI (spotify:track:...) 可以在 Spotify 应用中找到歌曲后,点击 "分享" -> "复制歌曲链接" 获取。

信息

分类

网页与API