使用说明
项目简介
Spotify MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在连接 Spotify API 和 Claude AI。它允许用户通过 Claude 以自然语言查询与 Spotify 音乐平台进行交互,例如查询艺术家信息。
主要功能点
- 艺术家信息查询: 目前版本支持通过 'get_artist' 工具查询 Spotify 上的艺术家信息。
- 可扩展性: 项目设计具备可扩展性,未来可以添加更多工具,例如获取热门歌曲、流派信息、创建播放列表、获取用户个人资料等,以支持更丰富的音乐互动功能。
- MCP 标准协议: 遵循 MCP 协议,可以与任何兼容 MCP 协议的客户端(如 Claude)进行交互。
- Stdio 传输: 使用 Stdio 作为传输协议,简化部署和运行。
安装步骤
-
克隆仓库:
git clone https://github.com/DivyamAgg24/SpotifyMCP.git cd SpotifyMCP -
安装依赖:
npm install -
配置环境变量: 在项目根目录下创建 '.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,并妥善管理凭据。
-
Spotify 应用配置:
- 登录 Spotify Developer Dashboard.
- 注册你的应用。
- 在你的应用设置中,将 'http://localhost:8888/callback' 添加为 Redirect URI。
- 将你的 Client ID 和 Client Secret 复制到 '.env' 文件中。
-
构建项目:
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 文件路径。
基本使用方法
- 启动 MCP 服务器: 根据上述服务器配置,在 MCP 客户端中启动 Spotify MCP 服务器。
- 在 MCP 客户端中与 Claude 交互: 在 Claude 中,你可以使用自然语言指令,例如:
Claude 应该能够调用 'get_artist' 工具,并返回 Pitbull 的艺术家信息。User: "Pitbull 是谁?"
注意: 由于当前 'get_artist' 工具的代码实现中 'accessToken' 是硬编码且请求的 Artist ID 是固定的 ('ids=0TnOYISbd1XYRBk9myaseg'),实际的 'get_artist' 工具并没有真正根据用户输入的艺术家名字进行查询,而是返回固定 Artist ID 对应的艺术家信息。要实现根据艺术家名字查询,需要完善 'get_artist' 工具的代码逻辑,调用 Spotify API 的搜索艺术家接口,并使用动态获取的 Access Token。
信息
分类
网页与API