项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器端应用,它使得支持 MCP 协议的AI助手(如某些版本的 Claude 或 Cursor IDE)能够访问和操作 YouTube 数据。通过这个服务器,AI助手可以调用预定义的功能(Tool)来执行任务,访问特定数据(Resource),或使用预设模板(Prompt)与用户交互。

主要功能点

本服务器提供了与 YouTube 相关的多种核心功能,通过标准化的接口暴露给AI助手:

  • 视频搜索: 支持通过关键词搜索视频,并提供频道、时长、地区等多种过滤选项。
  • 信息查询: 获取特定视频和频道的详细信息(标题、描述、统计数据等)。
  • 评论获取: 检索视频下方的评论列表。
  • 转录与字幕: 提取视频的转录文本或字幕,支持指定语言。
  • 相关视频: 查找与某个视频内容相关的其他视频。
  • 热门视频: 获取特定地区当前的热门趋势视频列表。
  • 视频摘要: 基于视频转录内容生成不同详细程度的摘要(作为 Prompt)。
  • 高级转录分析: 对一个或多个视频的转录进行深度处理,包括按时间范围过滤、文本搜索、内容分段等。

安装步骤

  1. Python: 确保您的系统已安装 Python 3.12 或更高版本。
  2. YouTube API Key:
    • 访问 Google Cloud Console
    • 创建一个新项目或选择现有项目。
    • 在 "APIs & Services" > "Library" 中搜索并启用 "YouTube Data API v3"
    • 在 "APIs & Services" > "Credentials" 中创建一个 API key 并妥善保管。
  3. 克隆仓库: 使用 Git 克隆本项目代码到您的本地计算机。
  4. 安装依赖: 进入项目目录,推荐使用 'uv' 包管理器安装依赖(如果未安装 'uv',请先安装,或使用 'pip install -r requirements.txt'):
    uv venv -p 3.12
    source .venv/bin/activate # MacOS/Linux
    # 或 .venv\Scripts\activate # Windows
    uv pip install -r requirements.txt
  5. 配置 API 密钥: 复制项目根目录下的 'env.example' 文件为 '.env',并用您的 YouTube API 密钥更新其中的 'YOUTUBE_API_KEY' 变量。

服务器配置 (针对MCP客户端)

MCP服务器需要由支持 MCP 协议的客户端应用(如一些 AI 助手或 IDE)来启动和连接。您需要在您的客户端应用中配置本服务器的启动信息。配置格式通常是一个 JSON 对象,需要提供服务器的名称、启动命令和参数。

以下是配置所需的关键信息(具体格式和位置请参考您的 MCP 客户端文档):

  • 服务器名称 (Server Name): 例如 '"YouTube Toolbox"'
  • 启动命令 (Command): 指定用于启动服务器进程的可执行文件路径。如果您使用 'uv' 虚拟环境,可能是虚拟环境内的 'uv' 可执行文件路径;如果您使用 Python,可能是 Python 可执行文件路径;如果您使用 Docker,命令则是 'docker'。
  • 启动参数 (Args): 一个字符串列表,作为参数传递给启动命令。
    • 如果使用本地安装 ('uv' 或 'python'):参数通常包括 '--directory' 指定项目目录、'run' 或其他执行命令、以及服务器主文件 'server.py'。例如 '["--directory", "/path/to/your/py-mcp-youtube-toolbox", "run", "server.py"]'。
    • 如果使用 Docker:参数通常包括 'run', '-i', '--rm', '-e YOUTUBE_API_KEY=your_key', 以及您构建的镜像名称 'py-mcp-youtube-toolbox'。
  • 环境变量 (Env): 一个可选的 JSON 对象,用于设置服务器进程所需的环境变量,特别是您的 'YOUTUBE_API_KEY'。例如 '{"YOUTUBE_API_KEY": "your_youtube_api_key"}'。确保这里的 API 密钥与 '.env' 文件中的一致,或者仅通过环境变量传递而不在 '.env' 中存储(取决于您的安全偏好)。

请参考您的具体 MCP 客户端应用的设置界面或配置文件(如 Claude 的 'claude_desktop_config.json' 或 Cursor 的 'mcp.json'),添加或修改相应的 'mcpServers' 配置段。

基本使用方法

配置完成后,重新启动您的 MCP 客户端应用。应用会自动发现并加载本服务器提供的功能(Tool、Prompt、Resource)。您就可以直接在与AI助手的对话中使用这些功能了,例如:

  • 询问AI助手:“搜索关于量子计算的最新YouTube视频。” (调用 'search_videos' Tool)
  • 粘贴一个视频ID,让AI助手获取其详细信息或转录。 (可能调用 'get_video_details' Resource 或 'get_video_transcript' Tool)
  • 要求AI助手总结某个视频的内容。 (可能调用 'transcript_summary' Prompt)

AI助手会根据您的自然语言请求,自动匹配并调用服务器提供的相应功能。开发者可以通过查看项目 README 中的 Tool Documentation 了解每个 Tool 和 Prompt 的具体参数,这有助于更精确地构造对AI助手的请求。

(注:项目中的 'client.py' 脚本是为开发者设计的,用于直接通过命令行测试服务器功能,普通用户通过AI助手交互时无需使用此脚本。)

信息

分类

网页与API