项目简介

这是一个基于 Model Context Protocol (MCP) 构建的应用后端服务器,专门用于处理 YouTube 视频的转录任务。它通过实现 MCP 标准,将视频音频转录能力封装为一个可供大型语言模型 (LLM) 客户端调用的工具。

主要功能点

  • YouTube 音频下载: 根据提供的 YouTube 视频 URL,下载其音频文件。
  • 音频分割处理: 将下载的长音频文件智能分割成更小的块,以适应后续转录服务的处理限制。
  • OpenAI Whisper 转录: 利用 OpenAI 的 Whisper 模型将音频块转换为文本。
  • 文本分块输出: 将完整的转录文本分割成适合 LLM 处理的文本块。
  • MCP 工具封装: 将上述整个流程封装成一个名为 'transcribe_youtube' 的 MCP 工具,可通过 MCP 客户端调用。
  • SSE 协议支持: 支持 Server-Sent Events (SSE) 作为与客户端通信的传输协议。
  • API Key 认证: 提供简单的 API Key 认证,确保只有授权的客户端可以连接和使用服务。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/format37/youtube_mcp.git
    cd youtube_mcp
  2. 配置环境变量: 复制 '.env.example' 为 '.env' 并编辑,设置以下变量:
    • 'CONTAINER_NAME': Docker 容器名称 (可选,默认为 youtube_mcp_main)
    • 'PORT': 服务器监听端口 (默认为 7001)
    • 'OPENAI_API_KEY': 您的 OpenAI API 密钥 (用于转录)
    • 'MCP_KEY': MCP 服务器的 API 密钥 (用于客户端认证,建议生成一个随机值)
  3. 获取并放置 cookies.txt: 按照仓库中的 'cookies.md' 说明,获取您的 YouTube cookies 并将其保存为 'mcp/cookies.txt' 文件。这有助于下载受限视频。
  4. 生成 MCP_KEY: 运行 'python token_generator.py' 生成一个 UUID,将其粘贴到 '.env' 文件中的 'MCP_KEY' 字段。
  5. 赋予运行权限:
    sudo chmod +x compose.sh logs.sh update.sh
  6. 启动服务器: 使用 './compose.sh' 脚本通过 Docker 启动服务器。
    ./compose.sh
  7. 检查端口: 确保您在 '.env' 中配置的端口在您的防火墙或网络设置中是开放的,以便客户端可以连接。

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

要让支持 MCP 的 LLM 客户端(如 Anthropic 的 Claude 桌面应用)连接到这个服务器,您需要修改客户端的配置文件,添加一个新的 MCP 服务器条目。配置信息通常是一个 JSON 格式的对象,描述了如何启动连接到服务器的进程。

以下是一个配置示例 (具体配置位置和格式请参考您的 MCP 客户端文档):

{
  "mcpServers": {
    "youtube": { // 给服务器起一个易于识别的名称
      "command": "npx", // 启动连接进程的命令 (例如使用 npm 包提供的连接工具)
      "args": [
        "mcp-remote", // 一个常用的 MCP 远程连接工具
        "http://localhost:7001/sse", // MCP 服务器的完整地址,包括协议 (http/https)、主机、端口和 SSE 路径
        "--header",
        "Authorization: YOUR-MCP-KEY", // 用于认证的授权头,值是您在服务器 .env 中设置的 MCP_KEY
        "--allow-http" // 如果服务器使用 HTTP 而非 HTTPS,可能需要此参数
      ],
      "disabled": false // 设为 true 会禁用此 MCP 服务器连接
    }
    // 如果有其他 MCP 服务器,可以在这里添加更多条目
  }
}

请将上面的配置中的 'http://localhost:7001/sse' 替换为您服务器的实际访问地址和端口,将 'YOUR-MCP-KEY' 替换为您在服务器 '.env' 文件中设置的 'MCP_KEY' 值。

基本使用方法

  1. 确保 MCP 服务器已成功启动并运行。
  2. 修改您的 MCP 客户端配置文件,添加上面提供的服务器配置信息。
  3. 重新启动您的 MCP 客户端应用程序。
  4. 客户端应该会自动检测到 YouTube 转录 MCP 服务器,并识别其提供的 'transcribe_youtube' 工具。
  5. 在与 LLM 交互时,您现在可以尝试调用这个工具来转录 YouTube 视频。例如,您可以向 LLM 提问:“你能转录这个 YouTube 视频吗?[视频链接]”,或者如果客户端支持,直接使用工具调用语法来触发转录功能。具体如何调用工具取决于您的客户端实现。

信息

分类

AI与计算