Spotify Mcp Server (express.js)

Spotify Mcp Server (express.js)

🚀 Spotify MCP 服务器(Express.js)

这是一个实现模型上下文协议(MCP)的 Spotify 服务器,它能让 AI 助手与 Spotify 的 API 进行交互。该服务器具备搜索曲目、获取艺术家信息以及管理播放列表等功能,为用户提供便捷的音乐交互体验。

🚀 快速开始

本服务器允许 AI 助手与 Spotify 的 API 进行交互,实现搜索曲目、获取艺术家信息等功能。

📦 安装指南

  1. 在 Spotify 开发者控制台创建一个开发者账户,并在 Spotify 开发者仪表盘 创建一个新的应用。
  2. 从你的 Spotify 应用中获取 客户端 ID客户端密钥
  3. 在项目根目录下创建一个 .env 文件,内容如下:
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_client_secret
SPOTIFY_REDIRECT_URI=http://localhost:3000/callback
  1. 安装依赖项:
npm install
  1. 启动服务器:
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 助手:

  1. 使用 Spotify 进行身份验证。
  2. 搜索音乐内容。
  3. 获取艺术家、曲目和播放列表的详细信息。
  4. 访问用户个性化数据(需进行适当的身份验证)。

🔧 技术细节

服务器通过环境变量管理敏感凭证,以确保安全。

📄 许可证

文档未提及相关内容,故跳过该章节。

⚠️ 重要提示

确保 .env 文件的安全性,切勿将其提交到版本控制。

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-28 00:15

相似服务问题