项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器实现,旨在将您的 TIDAL 音乐账户(包括收藏歌曲、播放列表等)通过标准化接口暴露给大型语言模型 (LLM) 客户端。这样,您就可以直接通过与LLM对话来控制您的 TIDAL 音乐体验,例如获取个性化推荐或管理播放列表。

主要功能点

  • TIDAL 账户登录: 安全地通过浏览器流程登录到您的 TIDAL 账户。
  • 获取收藏歌曲: 检索并列出您在 TIDAL 上收藏的歌曲。
  • 智能音乐推荐: 基于您的收藏歌曲或指定歌曲,结合您的偏好(如风格、心情等),从 TIDAL 获取并由LLM精选个性化推荐。
  • 播放列表管理:
    • 列出您所有的 TIDAL 播放列表。
    • 查看特定播放列表中的所有歌曲。
    • 根据推荐或其他标准创建新的播放列表。
    • 删除不再需要的播放列表。

安装步骤

本项目需要 Python 3.10+ 和 uv 包管理器。您还需要一个有效的 TIDAL 订阅账户。

  1. 克隆仓库:
    git clone https://github.com/yuhuacheng/tidal-mcp.git
    cd tidal-mcp
  2. 创建并激活虚拟环境:
    uv venv
    source .venv/bin/activate # Windows 用户使用: .venv\Scripts\activate
  3. 安装项目依赖:
    uv pip install --editable .
    这将安装 'pyproject.toml' 文件中定义的所有必要依赖。

服务器配置

为了让支持 MCP 的 LLM 客户端(如 Claude Desktop)连接并使用此 TIDAL 助手,您需要将此 MCP 服务器添加到客户端的配置中。配置信息通常是一个 JSON 结构,用于告知客户端如何启动并连接到您的服务器。

您需要在客户端的 MCP 配置中指定启动此服务器的 命令 (command)参数 (args)

  • 命令 (command): 这是用来启动服务器的可执行程序路径,通常是 'uv' 包管理器的路径。客户端会通过执行此命令来启动 MCP 服务器进程。
  • 参数 (args): 这是传递给 'command' 的参数列表,用于指定如何运行您的服务器代码。对于本项目,参数应包括:
    • 'run': 'uv' 的一个子命令,用于在虚拟环境中运行脚本。
    • '--with' 及相关的依赖名称 ('requests', 'mcp[cli]', 'flask', 'tidalapi'):确保在运行环境中有这些依赖。
    • 'mcp run': 'mcp' SDK 的一个命令,用于运行 MCP 服务器脚本。
    • '/path/to/your/project/tidal-mcp/mcp_server/server.py': 指向本项目中的服务器启动脚本的绝对路径。
  • 环境变量 (env) (可选): 您可以通过设置环境变量 'TIDAL_MCP_PORT' 来指定服务器运行的端口(默认为 5050)。

客户端会根据这些配置信息自动启动和管理 MCP 服务器进程,并通过标准输入/输出或指定的端口与其通信。

基本使用方法

成功安装并配置到您的 MCP 客户端后,您就可以像与LLM聊天一样使用 TIDAL 的功能:

  1. 首先进行认证: 告诉LLM您需要登录到 TIDAL。LLM会调用 'tidal_login' 工具,引导您完成浏览器登录流程。
  2. 开始提问或下达指令:
    • “根据我最喜欢的歌曲,推荐一些类似的曲目。”
    • “列出我最近更新的几个播放列表。”
    • “创建一个名为‘夏日放松’的播放列表,包含推荐的这几首歌曲。”
    • “看看我的‘跑步’播放列表里都有哪些歌。”
    • “帮我删除那个‘临时’播放列表。”

LLM 会根据您的请求,智能地选择并调用相应的 TIDAL MCP 工具来完成任务,并将结果返回给您。

信息

分类

AI与计算