使用说明

项目简介

本项目 'youtube-mcp' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为LLM(大型语言模型)客户端提供访问和分析YouTube视频内容的能力。它通过标准化的MCP接口,提供了一系列工具,使LLM能够轻松获取YouTube视频的转录文本、内容摘要、视频搜索结果、视频评论以及点赞数等信息,从而增强LLM在处理视频相关任务时的上下文理解和功能性。

主要功能点

  • 视频转录: 获取YouTube视频的详细转录文本。
  • 视频摘要: 使用AI(Gemini)生成YouTube视频内容的精简摘要。
  • 自然语言问答: 针对YouTube视频内容提出问题,并获得基于视频内容的答案。
  • YouTube视频搜索: 根据关键词搜索YouTube视频。
  • 评论分析: 检索和分析YouTube视频的评论。
  • 点赞数查询: 获取YouTube视频的点赞数量。

安装步骤

前提条件

  • Python 3.9 或更高版本
  • 已安装 'pip' 包管理器
  • 拥有 Google Gemini API 密钥 (GEMINI_API_KEY)
  • 拥有 YouTube Data API 密钥 (YOUTUBE_API_KEY)

安装步骤

  1. 克隆仓库:

    git clone https://github.com/Prajwal-ak-0/youtube-mcp
    cd youtube-mcp
  2. 创建虚拟环境 (推荐):

    python -m venv .venv
    source .venv/bin/activate   # Linux/macOS
    .venv\Scripts\activate  # Windows
  3. 安装依赖:

    pip install -e .
  4. 配置API密钥: 在项目根目录下创建 '.env' 文件,并填入您的API密钥:

    GEMINI_API_KEY=your_gemini_api_key
    YOUTUBE_API_KEY=your_youtube_api_key

    请将 'your_gemini_api_key' 和 'your_youtube_api_key' 替换为您自己的API密钥。

  5. 运行MCP服务器:

    python main.py

    服务器成功启动后,将等待MCP客户端的连接和请求。

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

为了让MCP客户端能够连接到 'youtube-mcp' 服务器,您需要在客户端的配置文件中添加以下服务器配置信息。以下是一个 'mcp.json' 配置示例,用于配置名为 "youtube" 的服务器:

{
  "youtube": {
    "command": "uv",
    "args": [
      "--directory",
      "/absolute/path/to/youtube-mcp",  // 请替换为 youtube-mcp 仓库的绝对路径
      "run",
      "main.py",
      "--transport",
      "stdio",
      "--debug"
    ]
  }
}

配置参数说明:

  • '"youtube"': 服务器的名称,客户端通过此名称引用该服务器。可以自定义。
  • '"command": "uv"': 运行服务器的命令,这里使用 'uv' (可能是 'uvicorn' 或类似的 Python 运行器,根据实际情况调整,如果直接使用 'python' 也可以将 command 改为 '"python"',并将 args 相应调整)。
  • '"args"': 传递给命令的参数列表。
    • '"--directory", "/absolute/path/to/youtube-mcp"': 指定 'youtube-mcp' 仓库的绝对路径。请务必将 '/absolute/path/to/youtube-mcp' 替换为实际的仓库路径。
    • '"run", "main.py"': 指示运行 'main.py' 文件,即启动 MCP 服务器的主程序。
    • '"--transport", "stdio"': 指定使用 'stdio' 作为 MCP 的传输协议,这是MCP客户端与服务器通信的标准方式。
    • '"--debug"': 启用调试模式(可选)。

注意:

  • 请根据您的实际环境和 Python 运行方式调整 '"command"' 和 '"args"' 配置。
  • MCP客户端需要读取此 'mcp.json' 配置文件才能正确启动和连接到 'youtube-mcp' 服务器。

基本使用方法

'youtube-mcp' 服务器提供以下工具 (Tools),客户端可以通过 MCP 协议调用这些工具来执行相应的YouTube视频分析任务:

  • 'youtube/get-transcript': 获取视频转录。

    • 参数: 'video_id' (YouTube 视频ID), 'languages' (可选,语言代码列表,默认为 '["en"]')
    • 示例: '{"tool": "youtube/get-transcript", "params": {"video_id": "视频ID"}}'
  • 'youtube/summarize': 生成视频摘要。

    • 参数: 'video_id' (YouTube 视频ID)
    • 示例: '{"tool": "youtube/summarize", "params": {"video_id": "视频ID"}}'
  • 'youtube/query': 就视频内容提问。

    • 参数: 'video_id' (YouTube 视频ID), 'query' (问题内容)
    • 示例: '{"tool": "youtube/query", "params": {"video_id": "视频ID", "query": "视频讲了什么?"}}'
  • 'youtube/search': 搜索YouTube视频。

    • 参数: 'query' (搜索关键词), 'max_results' (可选,最大结果数,默认为 '5')
    • 示例: '{"tool": "youtube/search", "params": {"query": "人工智能", "max_results": 3}}'
  • 'youtube/get-comments': 获取视频评论。

    • 参数: 'video_id' (YouTube 视频ID), 'max_comments' (可选,最大评论数,默认为 '100')
    • 示例: '{"tool": "youtube/get-comments", "params": {"video_id": "视频ID", "max_comments": 50}}'
  • 'youtube/get-likes': 获取视频点赞数。

    • 参数: 'video_id' (YouTube 视频ID)
    • 示例: '{"tool": "youtube/get-likes", "params": {"video_id": "视频ID"}}'

使用流程:

  1. 启动 'youtube-mcp' 服务器。
  2. 在MCP客户端中配置并连接到 'youtube' 服务器。
  3. 构造包含 'tool' 和 'params' 的 JSON-RPC 请求,发送给MCP客户端。
  4. MCP客户端会将请求转发给 'youtube-mcp' 服务器。
  5. 服务器执行相应的工具,并将结果通过MCP客户端返回。

请参考您的MCP客户端文档,了解如何配置和使用MCP服务器,以及如何发送和接收MCP请求。

信息

分类

AI与计算