Spotify MCP服务器
本项目是一个基于 Model Context Protocol (MCP) 的 Spotify 服务器实现,旨在为支持 MCP 协议的客户端(如 Claude)提供与 Spotify 音乐平台交互的能力。通过此服务器,你可以使用自然语言指令,让 LLM 客户端调用 Spotify 的功能,例如搜索歌曲、创建播放列表等。
主要功能点:
- 歌曲搜索 (search_songs): 允许你通过关键词在 Spotify 上搜索歌曲,并返回搜索结果列表。
- 创建播放列表 (create_playlist): 允许你创建新的 Spotify 播放列表,并添加歌曲到播放列表中。创建成功后,会返回播放列表的 Spotify URI 链接,可以直接点击在 Spotify 应用中打开。
安装步骤:
- 安装 Node.js 和 npm: 确保你的电脑上已经安装了 Node.js 和 npm (Node 包管理器)。你可以从 nodejs.org 下载安装。
- 克隆仓库: 将 GitHub 仓库 'spotify-mcp' 克隆到本地。
git clone https://github.com/carllapierre/spotify-mcp.git cd spotify-mcp - 安装依赖: 在项目根目录下运行以下命令安装项目依赖。
npm install - 构建项目: 运行以下命令构建 TypeScript 代码。
npm run build - 配置 Spotify API 密钥:
- 访问 Spotify Developer 网站 并创建一个开发者账号。
- 创建一个新的应用,获取 Client ID 和 Client 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
- 获取 Spotify Refresh Token: 运行以下命令获取 Spotify Refresh Token。
按照终端提示,访问 'http://localhost:8888/login' 并登录你的 Spotify 账号。授权成功后,Refresh Token 会显示在终端控制台中。npx ts-node src/scripts/get-spotify-token.ts - 配置 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 文件中配置,此处无需重复配置,但如果需要,可以在这里添加额外的环境变量 } } } }
基本使用方法:
- 启动 Spotify MCP 服务器。在项目根目录下运行:
或者直接运行构建后的 JavaScript 文件:npm run startnode build/index.js - 配置并启动 MCP 客户端 (例如 Claude)。客户端会自动连接到 Spotify MCP 服务器。
- 在 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