Spotify API MCP服务

一个Model Context Protocol (MCP)服务器,使MCP兼容应用程序(如Claude Desktop、IDE和其他AI工具)能够与Spotify API交互,包括用于播放列表管理的认证端点。

  • by fisknils
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 fisknils/spotify-mcp-server

使用说明

Spotify API MCP

模型上下文协议(MCP)服务器,使MCP兼容的应用程序(如Claude Desktop、IDE和其他人工智能工具)能够与Spotify API交互,包括用于播放列表管理的认证端点。

特性

  • 搜索:搜索曲目、艺术家、专辑和播放列表
  • 认证:OAuth 2.0流与PKCE用于安全身份验证
  • 用户档案:获取当前用户信息
  • 播放列表管理:创建播放列表并添加曲目
  • 许可证管理:自动令牌刷新

设置

1.安装依赖项

npm install

2.创建Spotify应用程序

  1. 首选 Spotify开发者仪表板
  2. 创建新应用程序
  3. 添加 http://127.0.0.1:3000/callback 作为重定向URI
  4. 记下您的客户端ID和客户端密码

3.设置身份验证(可选)

您可以通过多种方式提供您的Spotify凭据:

选项A:环境变量

export SPOTIFY_CLIENT_ID="your_client_id_here"
export SPOTIFY_CLIENT_SECRET="your_client_secret_here"

选项B:配置文件 创建一个 .env 项目根目录中的文件:

SPOTIFY_CLIENT_ID=your_client_id_here
SPOTIFY_CLIENT_SECRET=your_client_secret_here

选项C:手动身份验证 如果没有预先配置凭据,则可以使用 spotify_authenticate 工具,在需要时提供。

4.建设项目

npm run build

5.配置您的MCP客户端

将以下内容添加到MCP客户端设置中(以Claude Desktop为例):

{
  "mcpServers": {
    "spotify": {
      "command": "node",
      "args": ["/path/to/spotify-api-mcp/dist/index.js"]
    }
  }
}

对于其他MCP客户端,请参阅客户端的文档以获取适当的配置格式。

Claude Desktop用户注意事项: 当您第一次尝试使用任何Spotify功能时,Claude会通过询问您的Spotify应用程序的客户端ID和客户端密码来自动提示您进行身份验证。您不需要在上面的配置中提供这些凭据。

可用工具

spotify_authenticate

使用OAuth 2.0通过Spotify进行身份验证。在使用经过身份验证的端点之前需要。

参数:

  • client_id (字符串,可选):您的Spotify应用程序的客户端ID(可以通过环境变量设置)
  • client_secret (string,可选):您的Spotify应用程序的客户端密码(可以通过环境变量设置)

spotify_search

在Spotify上搜索内容。

参数:

  • query (string):搜索查询
  • type (string):内容类型(track, artist, album, playlist)
  • limit (数字,可选):结果数量(1-50,默认值:10)

spotify_get_user_profile

获取经过身份验证的用户的个人资料信息。

spotify_create_playlist

为经过身份验证的用户创建新的播放列表。

参数:

  • name (string):播放列表名称
  • description (字符串,可选):播放列表描述
  • public (布尔值,可选):播放列表是否为公共(默认值:false)

spotify_add_tracks_to_playlist

将曲目添加到播放列表。

参数:

  • playlist_id (字符串):播放列表ID
  • track_uris (array):Spotify曲目URI数组

spotify_get_user_playlists

获取经过身份验证的用户的播放列表。

参数:

  • limit (数字,可选):要返回的播放列表数量(1-50,默认值:20)

用法示例

  1. 首先,通过Spotify进行身份验证:
Use the spotify_authenticate tool with your client ID and secret

对于Claude Desktop用户: 只需让克劳德搜索音乐或创建播放列表。Claude将自动处理身份验证过程,并在需要时要求您提供Spotify凭据。

  1. 搜索曲目:
Use spotify_search with query "Bohemian Rhapsody" and type "track"
  1. 创建播放列表:
Use spotify_create_playlist with name "My New Playlist"
  1. 将曲目添加到播放列表:
Use spotify_add_tracks_to_playlist with the playlist ID and track URIs from search results

注意:使用这些工具的确切语法取决于您的MCP客户端。上述示例展示了一般方法。

发展

在开发模式下运行:

npm run dev

生产建设:

npm run build

安全说明

  • 客户端机密得到安全处理,不会被记录
  • OAuth 2.0和PKCE用于身份验证
  • 需要时,令牌会自动刷新
  • 本地服务器仅在身份验证期间临时运行

许可证

麻省理工学院