使用说明

项目简介

Apple Music MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为 LLM 客户端提供访问 Apple Music API 的能力。通过此服务器,LLM 应用可以搜索 Apple Music 曲库,并生成歌曲和播放列表的播放链接,从而扩展 LLM 在音乐内容领域的应用场景。

主要功能点

  • 歌曲搜索: 允许通过歌曲标题、艺术家或专辑名称在 Apple Music 中搜索歌曲。
  • 播放链接生成: 可以为 Apple Music 中的歌曲或播放列表生成深层链接,方便用户直接跳转到 Apple Music 应用播放。
  • MCP 协议支持: 完全遵循 MCP 协议标准,易于与各种 MCP 客户端集成。
  • 工具化API: 通过工具 (Tools) 的形式暴露 API 功能,方便 LLM 客户端按需调用。

安装步骤

  1. 安装 Rust 环境: 确保你的系统中已安装 Rust 编程语言环境(推荐使用 Rust nightly 版本,因为项目依赖 rmcp 库)。你可以访问 Rust官网 按照指引安装。

  2. 安装 Apple Music MCP Server: 使用 'cargo install' 命令从仓库本地路径安装:

    cargo install --path .

    安装成功后,'applemusic-mcp-server' 可执行文件将被安装到 Cargo 的 bin 目录(通常是 '$HOME/.cargo/bin')。

服务器配置

MCP 客户端需要配置以下 JSON 格式信息以连接到 Apple Music MCP Server。请根据你的实际环境修改以下参数:

{
  "serverName": "AppleMusicServer",
  "command": "applemusic-mcp-server",
  "args": [
    "--team-id", "<YOUR_TEAM_ID>",  // 你的 Apple Developer Team ID,请替换为实际值
    "--key-id", "<YOUR_KEY_ID>",    // 你的 Apple Music API Key ID,请替换为实际值
    "--private-key-path", "/path/to/AuthKey.p8" // Apple Music 私钥文件 (.p8) 的路径,请替换为实际路径
    // "--storefront", "us"        // 可选: Apple Music 商店区域,默认为 "jp",如需更改请取消注释并修改为所需区域代码,例如 "us", "cn" 等
  ]
}

参数说明:

  • 'serverName': 服务器名称,用于在 MCP 客户端中标识该服务器,可以自定义。
  • 'command': 启动 Apple Music MCP Server 的命令,这里假设 'applemusic-mcp-server' 已添加到系统 PATH 环境变量中。如果未添加到 PATH,请使用 'applemusic-mcp-server' 可执行文件的完整路径。
  • 'args': 传递给 'applemusic-mcp-server' 命令的参数列表,用于配置 Apple Music API 访问权限和服务器行为:
    • '--team-id': 必需。你的 Apple Developer Program 团队 ID。
    • '--key-id': 必需。你的 Apple Music API 密钥 ID。
    • '--private-key-path': 必需。指向你的 Apple Music API 私钥文件('.p8' 文件)的路径。你需要从你的 Apple Developer 账号获取并下载此文件。
    • '--storefront': 可选。指定 Apple Music 商店区域代码。默认为 'jp' (日本)。你可以根据需要更改为其他区域,例如 'us' (美国), 'cn' (中国大陆) 等。 商店区域会影响搜索结果和链接的区域性。

重要提示:

  • 你需要拥有 Apple Developer 账号,并已配置 Apple Music API 访问权限,获取 API 密钥 (Key ID) 和私钥文件 (.p8) 才能运行此服务器。
  • 请妥善保管你的私钥文件,避免泄露。
  • 首次运行服务器前,请确保已将上述配置信息正确填写到 MCP 客户端的服务器配置中。

基本使用方法

  1. 启动服务器: 在安装并配置完成后,MCP 服务器将在 MCP 客户端连接时自动启动。你无需手动运行 'cargo run' 命令,MCP 客户端会根据配置的 'command' 和 'args' 启动服务器进程。

  2. 通过 MCP 客户端调用工具: 在 MCP 客户端中,你可以通过标准 MCP 协议请求调用服务器提供的工具 (Tools)。

    • 'searchSongs' 工具: 用于搜索歌曲。你需要提供 'query' 参数,例如:

      {
        "tool_call_id": "search-song-1",
        "tool_name": "searchSongs",
        "tool_arguments": {
          "query": "Shape of You"
        }
      }

      服务器会返回搜索结果,包含歌曲的标题、艺术家、专辑、Apple Music 链接等信息。

    • 'generatePlaybackLink' 工具: 用于生成播放链接。你需要提供 'song_id' 或 'playlist_id' 参数,例如:

      {
        "tool_call_id": "generate-link-1",
        "tool_name": "generatePlaybackLink",
        "tool_arguments": {
          "song_id": "1234567890" // 替换为实际 Song ID
        }
      }

      {
        "tool_call_id": "generate-link-2",
        "tool_name": "generatePlaybackLink",
        "tool_arguments": {
          "playlist_id": "0987654321" // 替换为实际 Playlist ID
        }
      }

      服务器会返回包含 Apple Music 播放链接的 JSON 响应。

  3. 在 LLM 应用中使用: 在你的 LLM 应用中,集成 MCP 客户端,并配置上述服务器信息。LLM 即可通过调用 'searchSongs' 和 'generatePlaybackLink' 工具,利用 Apple Music API 提供的音乐搜索和播放能力。

通过以上步骤,你可以成功部署和使用 Apple Music MCP Server,为你的 LLM 应用增加强大的音乐内容交互能力。

信息

分类

网页与API