使用说明

项目简介

Spotify MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在连接 Spotify API 和 Claude AI。它允许用户通过 Claude 以自然语言查询与 Spotify 音乐平台进行交互,例如查询艺术家信息。

主要功能点

  • 艺术家信息查询: 目前版本支持通过 'get_artist' 工具查询 Spotify 上的艺术家信息。
  • 可扩展性: 项目设计具备可扩展性,未来可以添加更多工具,例如获取热门歌曲、流派信息、创建播放列表、获取用户个人资料等,以支持更丰富的音乐互动功能。
  • MCP 标准协议: 遵循 MCP 协议,可以与任何兼容 MCP 协议的客户端(如 Claude)进行交互。
  • Stdio 传输: 使用 Stdio 作为传输协议,简化部署和运行。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/DivyamAgg24/SpotifyMCP.git
    cd SpotifyMCP
  2. 安装依赖:

    npm install
  3. 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入以下 Spotify API 相关的凭据:

    SPOTIFY_CLIENT_ID=你的_Spotify_客户端_ID
    SPOTIFY_CLIENT_SECRET=你的_Spotify_客户端_密钥
    SPOTIFY_ACCESS_TOKEN=访问令牌(**注意:当前代码直接使用硬编码的 Access Token,正式部署需要替换为动态获取方式**)

    重要安全提示: 当前代码直接在 'src/index.ts' 中硬编码了 'accessToken',这是 极其不安全 的做法,仅用于演示或测试。实际应用中,你需要实现安全的 OAuth 2.0 授权流程来动态获取和刷新 Access Token,并妥善管理凭据。

  4. Spotify 应用配置:

    • 登录 Spotify Developer Dashboard.
    • 注册你的应用。
    • 在你的应用设置中,将 'http://localhost:8888/callback' 添加为 Redirect URI
    • 将你的 Client IDClient Secret 复制到 '.env' 文件中。
  5. 构建项目:

    tsc -b

服务器配置

要让 MCP 客户端(例如 Claude)连接到此 Spotify MCP 服务器,你需要配置客户端的 MCP Server 设置。以下是一个 JSON 格式的配置示例,你需要根据实际情况进行调整:

{
  "serverName": "spotify",  // 服务名称,与服务器 McpServer 实例化的 name 属性一致
  "command": "node",       // 启动服务器的命令,这里假设使用 Node.js 运行
  "args": [                // 启动命令的参数
    "dist/index.js"      //  指向编译后的服务器入口文件。假设在项目根目录执行客户端,如果不在根目录,需要使用服务器入口文件的相对或绝对路径
  ],
  "cwd": "/path/to/SpotifyMCP" // MCP服务器代码仓库的绝对路径。请替换为你的实际路径,例如:"/Users/yourname/SpotifyMCP"
}

请将 '"/path/to/SpotifyMCP"' 替换为你的 SpotifyMCP 仓库在本地文件系统中的实际绝对路径。 'dist/index.js' 是执行 'tsc -b' 命令后生成的 JavaScript 文件路径。

基本使用方法

  1. 启动 MCP 服务器: 根据上述服务器配置,在 MCP 客户端中启动 Spotify MCP 服务器。
  2. 在 MCP 客户端中与 Claude 交互: 在 Claude 中,你可以使用自然语言指令,例如:
    User: "Pitbull 是谁?"
    Claude 应该能够调用 'get_artist' 工具,并返回 Pitbull 的艺术家信息。

注意: 由于当前 'get_artist' 工具的代码实现中 'accessToken' 是硬编码且请求的 Artist ID 是固定的 ('ids=0TnOYISbd1XYRBk9myaseg'),实际的 'get_artist' 工具并没有真正根据用户输入的艺术家名字进行查询,而是返回固定 Artist ID 对应的艺术家信息。要实现根据艺术家名字查询,需要完善 'get_artist' 工具的代码逻辑,调用 Spotify API 的搜索艺术家接口,并使用动态获取的 Access Token。

信息

分类

网页与API