使用说明
Spotify MCP服务器(Express.js)
这是一个模型上下文协议(MCP)服务器实现,允许人工智能助手与Spotify的API交互。服务器提供端点用于搜索曲目、获取艺术家信息和管理播放列表。
设置
- 在以下网址创建Spotify开发者帐户并创建新应用程序 Spotify开发者仪表板.
- 得到你的 客户端ID 和 客户端密钥 从您的Spotify应用程序。
- 创建一个
.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端点:
- 发布
/mcp/search-搜索曲目、艺术家或专辑。 - 获取
/mcp/artist/{artistId}-获取艺术家的详细信息。 - 获取
/mcp/track/{trackId}-获取有关赛道的详细信息。 - 获取
/mcp/playlist/{playlistId}-获取播放列表信息。 - 获取
/mcp/me/top-tracks-获取用户的热门曲目(需要身份验证)。 - 获取
/mcp/me/playlists-获取用户的播放列表(需要身份验证)。 - 获取
/mcp/me/tracks-获取用户保存的曲目(需要身份验证)。 - 获取
/mcp/auth/login-生成用于用户身份验证的Spotify登录URL。 - 获取
/callback-处理Spotify OAuth回调并交换访问令牌的授权码。 - 发布
/mcp/auth/refresh-刷新用户的访问令牌。
示例用法
以下是一个AI助手如何与服务器交互的示例:
// Search for a track
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();
// Get artist information
const artistResponse = await fetch('http://localhost:3000/mcp/artist/1dfeR4HaWDbWqJHLk5g1d1');
const artistData = await artistResponse.json();
MCP协议实现
该服务器实现了模型上下文协议,允许AI助手:
- 通过Spotify进行身份验证。
- 搜索音乐内容。
- 检索有关艺术家、曲目和播放列表的详细信息。
- 访问个性化用户数据(通过适当的身份验证)。
安全说明
确保你的 .env 文件安全,永远不要将其提交给版本控制。服务器使用环境变量来管理敏感凭据。