项目简介

语音转录 MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在以标准化方式向 LLM 客户端(如 Claude Desktop)提供强大的语音转录能力。它集成了YouTube Transcript API和Google Gemini Flash 2.5,可以从YouTube视频和播客中提取、转录和格式化音频内容。服务器支持智能缓存、多种输出格式(Markdown和JSON)以及实时进度跟踪,并提供节省成本的批量处理功能。

主要功能点

  • YouTube 转录: 从YouTube视频URL或ID中提取带时间戳的字幕,并支持自动专业格式化。
  • 播客 RSS 查找: 通过播客名称搜索并发现其RSS订阅源URL。
  • 播客内容解析: 解析播客RSS订阅源,列出可用剧集信息(标题、音频URL、时长等)。
  • 播客剧集转录: 下载播客音频文件,并使用Google Gemini Flash 2.5进行AI转录,支持说话人识别和自动专业格式化。
  • 智能转录格式化: 对任何原始转录文本进行专业格式化,包括说话人检测、章节划分和去除冗余词。
  • 智能缓存: 自动缓存已处理的转录,避免重复API调用,节省时间和费用。
  • 灵活输出: 支持Markdown(易读)和JSON(机器可读)两种输出格式。
  • 进度跟踪: 对耗时操作提供实时进度更新。
  • 批量处理: 提供经济高效的批量转录工具,适用于处理大量播客剧集,可节省50%的API费用。

安装步骤

  1. 前提条件:
    • Python 3.8 或更高版本。
    • Google Gemini API 密钥(用于播客转录和高级格式化)。
    • 操作系统:macOS, Linux 或 Windows。
  2. 下载仓库: 下载或克隆 'transcribe_mcp' 仓库到您的本地计算机。
  3. 进入服务器目录: 使用终端或命令行进入 'transcribe_mcp_server' 目录。
    cd transcribe_mcp_server
  4. 创建并激活Python虚拟环境:
    • 创建虚拟环境:
      python3 -m venv mcp_env
    • 激活虚拟环境 (macOS/Linux):
      source mcp_env/bin/activate
    • 激活虚拟环境 (Windows):
      mcp_env\Scripts\activate
  5. 安装依赖:
    pip install -r requirements.txt
  6. 获取Google Gemini API 密钥: 访问 'https://aistudio.google.com/app/apikey' 创建并复制您的API密钥。
  7. 创建 '.env' 文件: 在 'transcribe_mcp_server' 目录创建 '.env' 文件,并添加您的API密钥。
    echo "GOOGLE_API_KEY=your-api-key-here" > .env
    请将 'your-api-key-here' 替换为您实际的API密钥。
  8. 测试安装:
    python -m py_compile transcribe_mcp.py
    如果无错误信息,则安装成功。

服务器配置

此MCP服务器设计用于与支持MCP协议的LLM客户端(如 Claude Desktop)配合使用。您需要将MCP服务器的启动信息添加到客户端的配置文件中。

以下是为 Claude Desktop 配置 MCP 服务器的示例说明:

  1. 找到 Claude Desktop 配置文件:

    • macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
    • Linux: '~/.config/Claude/claude_desktop_config.json'
    • Windows: '%APPDATA%\Claude\claude_desktop_config.json'
  2. 添加 MCP 服务器配置: 在 JSON 配置文件中的 '"mcpServers"' 部分,添加一个名为 '"transcribe"' 的配置。请务必使用您虚拟环境中的 Python 解释器的绝对路径,以及 'transcribe_mcp.py' 文件的绝对路径。同时,配置您的 'GOOGLE_API_KEY' 环境变量。

    例如 (假设您的项目路径为 '/Users/YOUR-USERNAME/path/to/transcribe_mcp/transcribe_mcp_server'):

    {
      "mcpServers": {
        "transcribe": {
          "command": "/Users/YOUR-USERNAME/path/to/transcribe_mcp/transcribe_mcp_server/mcp_env/bin/python3",
          "args": ["/Users/YOUR-USERNAME/path/to/transcribe_mcp/transcribe_mcp_server/transcribe_mcp.py"],
          "env": {
            "GOOGLE_API_KEY": "your-actual-api-key-here"
          }
        }
      }
    }
    • "command": 指定启动 MCP 服务器的命令,这里是您虚拟环境中的 Python 3 解释器的完整路径。
    • "args": 提供传递给启动命令的参数列表,这里是 'transcribe_mcp.py' 脚本的完整路径。
    • "env": 定义服务器运行所需的环境变量,例如您的 Google Gemini API 密钥。
  3. 获取绝对路径: 如果您不确定项目目录的绝对路径,可以在终端中进入 'transcribe_mcp_server' 目录并运行 'pwd' 命令来获取。

  4. 重启 Claude Desktop: 完成配置后,请完全关闭并重新打开 Claude Desktop,以便加载新的 MCP 服务器配置。

基本使用方法

配置并重启Claude Desktop后,您会在客户端中看到已加载的转录工具(通常显示一个🔌图标)。您可以直接向LLM提问,调用这些工具来完成转录任务。

  • 转录YouTube视频: “获取这个YouTube视频的转录:'https://youtube.com/watch?v=i43kYARbSGM'”

  • 获取专业格式化的YouTube转录: “请专业格式化并转录这个YouTube视频:'https://youtube.com/watch?v=i43kYARbSGM'”

  • 查找播客并转录剧集:

    1. “查找名为 'Lex Fridman Podcast' 的播客RSS订阅源。”
    2. 根据上一步获取的RSS URL,询问:“解析RSS订阅源 '[RSS URL]' 并列出最新5集。”
    3. 根据上一步获取的剧集音频URL,询问:“转录播客剧集 '[剧集标题]',音频地址为 '[音频URL]',并启用说话人识别和自动格式化。”
  • 格式化现有文本: “将以下原始文本格式化为专业文档:'[您的原始转录文本]',标题为 '访谈转录',并检测说话人及章节。”

信息

分类

AI与计算