article
README
🚀 Spotify MCP 服务器(Express.js)
这是一个实现模型上下文协议(MCP)的 Spotify 服务器,它能让 AI 助手与 Spotify 的 API 进行交互。该服务器具备搜索曲目、获取艺术家信息以及管理播放列表等功能,为用户提供便捷的音乐交互体验。
🚀 快速开始
本服务器允许 AI 助手与 Spotify 的 API 进行交互,实现搜索曲目、获取艺术家信息等功能。
📦 安装指南
- 在 Spotify 开发者控制台创建一个开发者账户,并在 Spotify 开发者仪表盘 创建一个新的应用。
- 从你的 Spotify 应用中获取 客户端 ID 和 客户端密钥。
- 在项目根目录下创建一个
.env文件,内容如下:
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_client_secret
SPOTIFY_REDIRECT_URI=http://localhost:3000/callback
- 安装依赖项:
npm install
- 启动服务器:
npm start
✨ 主要特性
该服务器实现了以下 MCP 端点:
- POST
/mcp/search- 搜索曲目、艺术家或专辑。 - GET
/mcp/artist/{artistId}- 获取艺术家的详细信息。 - GET
/mcp/track/{trackId}- 获取曲目的详细信息。 - GET
/mcp/playlist/{playlistId}- 获取播放列表的信息。 - GET
/mcp/me/top-tracks- 获取用户的最常听歌曲(需要身份验证)。 - GET
/mcp/me/playlists- 获取用户的所有播放列表(需要身份验证)。 - GET
/mcp/me/tracks- 获取用户的收藏曲目(需要身份验证)。 - GET
/mcp/auth/login- 生成 Spotify 登录 URL 进行用户身份验证。 - GET
/callback- 处理 Spotify OAuth 回调并交换授权码为访问令牌。 - POST
/mcp/auth/refresh- 刷新用户的访问令牌。
💻 使用示例
基础用法
// 搜索曲目
const searchResponse = await fetch('http://localhost:3000/mcp/search', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
query: 'Bohemian Rhapsody',
type: 'track'
})
});
const searchData = await searchResponse.json();
// 获取艺术家信息
const artistResponse = await fetch('http://localhost:3000/mcp/artist/1dfeR4HaWDbWqJHLk5g1d1');
const artistData = await artistResponse.json();
📚 详细文档
该服务器实现了模型上下文协议,允许 AI 助手:
- 使用 Spotify 进行身份验证。
- 搜索音乐内容。
- 获取艺术家、曲目和播放列表的详细信息。
- 访问用户个性化数据(需进行适当的身份验证)。
🔧 技术细节
服务器通过环境变量管理敏感凭证,以确保安全。
📄 许可证
文档未提及相关内容,故跳过该章节。
⚠️ 重要提示
确保
.env文件的安全性,切勿将其提交到版本控制。
Scan to join WeChat group