使用说明

项目简介

Playlist-MCP 是一个实验性的 MCP 服务器,旨在将 YouTube 播放列表的视频转录文本提供给 LLM 客户端。它允许用户通过 MCP 协议,利用工具检索播放列表中视频的文本内容,从而为 LLM 应用提供丰富的视频上下文信息。

主要功能点

  • 转录文本获取与缓存: 自动下载并缓存指定 YouTube 播放列表的所有视频转录文本,提高访问效率。
  • 基于向量数据库的搜索: 使用 ChromaDB 向量数据库存储转录文本,支持基于主题的语义搜索,快速找到相关视频片段。
  • MCP 工具集成: 通过 MCP 协议暴露搜索功能为工具,LLM 客户端可以调用该工具,输入主题关键词,获取相关的视频链接和转录文本片段。
  • 标准 MCP 服务器实现: 遵循 MCP 协议规范,易于与兼容 MCP 协议的 LLM 客户端集成,例如 Claude Desktop。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/luebken/playlist-mcp.git
    cd playlist-mcp
  2. 安装 Python 依赖:

    uv venv
    source .venv/bin/activate
    uv pip install -e .

    本仓库推荐使用 'uv' 包管理器,您也可以使用 'python3 -m venv .venv' 和 '.venv/bin/pip install -r requirements.txt' 命令。

  3. 启动服务器并填充数据: 运行 'server.py' 脚本,并传入 YouTube 播放列表的 URL 作为参数。首次运行会下载播放列表的转录文本并构建向量数据库,后续运行会使用缓存数据。

    uv run server.py <YOUR_YOUTUBE_PLAYLIST_URL>

    例如,使用示例中的 KubeCon 伦敦 2025 播放列表:

    uv run server.py https://www.youtube.com/playlist?list=PLj6h78yzYM2MP0QhYFK8HOb8UqgbIkLMc

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)连接,您需要在客户端的配置文件中添加服务器配置信息。以下是 Claude Desktop 的配置示例,您需要根据实际情况修改路径:

打开 Claude Desktop 的配置文件 'claude_desktop_config.json' (通常位于 '~/Library/Application Support/Claude/claude_desktop_config.json',Windows 系统路径可能不同)。在 'mcpServers' 字段下添加一个新的服务器配置,例如 "playlist-mcp":

{
  "mcpServers": {
      "playlist-mcp": {
          "command": "uv",
          "args": [
              "--directory",
              "/PATH/TO/PARENT/playlist-mcp/",
              "run",
              "server.py",
              "https://www.youtube.com/playlist?list=<YOUR_YOUTUBE_PLAYLIST_URL>"
          ]
      }
  }
}

配置参数说明:

  • '"playlist-mcp"': 服务器名称,您可以自定义,用于在客户端中标识此服务器。
  • '"command": "uv"': 启动服务器的命令,这里使用 'uv run' 来运行 Python 脚本。如果您直接使用 'python' 命令,请修改为 '"command": "python"'。
  • '"args"': 传递给命令的参数列表。
    • '"--directory", "/PATH/TO/PARENT/playlist-mcp/"': 指定工作目录为仓库的父目录,请将 '/PATH/TO/PARENT/playlist-mcp/' 替换为您的 'playlist-mcp' 仓库所在的父目录的绝对路径
    • '"run", "server.py"': 运行 'server.py' 脚本。
    • '"<YOUR_YOUTUBE_PLAYLIST_URL>"': YouTube 播放列表的 URL。请将 '<YOUR_YOUTUBE_PLAYLIST_URL>' 替换为您要使用的播放列表 URL,或者保持示例中的 URL。

请务必将 '/PATH/TO/PARENT/playlist-mcp/' 和 '<YOUR_YOUTUBE_PLAYLIST_URL>' 替换为您实际的路径和 URL。

基本使用方法

  1. 确保 MCP 服务器已成功启动并运行。
  2. 在兼容 MCP 的 LLM 客户端(如 Claude Desktop)中,启用并连接到您配置的 "playlist-mcp" 服务器。
  3. LLM 客户端应该能够检测到服务器提供的 'fetch_transcripts_{playlist_title}' 工具('playlist_title' 会根据您提供的播放列表标题动态生成)。
  4. 在与 LLM 的对话中,您可以指示 LLM 使用 'fetch_transcripts_{playlist_title}' 工具,并提供您想要搜索的主题关键词。
  5. LLM 客户端会调用该工具,并将主题关键词作为参数传递给 MCP 服务器。
  6. MCP 服务器会搜索向量数据库,并将相关的视频链接和转录文本片段返回给 LLM 客户端。
  7. LLM 客户端可以利用返回的上下文信息,进行更深入的对话和分析。

例如,您可以对 LLM 说: "请使用 'fetch_transcripts_{playlist_title}' 工具搜索关于 Kubernetes 的信息,并告诉我相关的视频内容。"

信息

分类

网页与API