YouTube视频分析服务

利用Google Gemini Vision API分析YouTube视频,提供描述、摘要、问答和关键时刻提取功能。

  • by minbang930
  • JavaScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 minbang930/Youtube-Vision-MCP

使用说明

YouTube视觉MCP服务器(youtube-vision)

MCP(模型上下文协议)服务器,利用Google Gemini Vision API与YouTube视频进行交互。它允许用户获取描述、摘要、问题答案,并从YouTube视频中提取关键时刻。

特性

  • 使用Gemini Vision API分析YouTube视频。
  • 为不同的交互提供多种工具:
    • 一般说明或问答(ask_about_youtube_video)
    • 总结(summarize_youtube_video)
    • 关键时刻提取(extract_key_moments)
  • 列出支持的可用Gemini型号 generateContent.
  • 可通过环境变量配置Gemini模型。
  • 通过stdio(标准输入/输出)进行通信。

先决条件

在使用此服务器之前,请确保您具备以下条件:

  • Node.js: 建议使用18或更高版本。您可以从以下网址下载 nodejs.org.
  • Google Gemini API密钥: 从获取API密钥 谷歌人工智能工作室 或谷歌云控制台。

安装与使用

使用此服务器有两种主要方式:

通过Smithery安装

通过以下方式自动安装适用于Claude Desktop的youtube视觉mcp 史密瑟里:

npx -y @smithery/cli install @minbang930/youtube-vision-mcp --client claude

选项1:使用npx(建议快速使用)

运行此服务器的最简单方法是使用 npx,它下载并运行该包,而不需要永久安装。

您可以在MCP客户端的设置文件(Claude、VSCode..)中配置它:

{
  "mcpServers": {
    "youtube-vision": {
      "command": "npx",
      "args": [
        "-y",
        "youtube-vision"
      ],
      "env": {
        "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY",
        "GEMINI_MODEL_NAME": "gemini-2.0-flash"
      }
    }
  }
}

替换 "YOUR_GEMINI_API_KEY" 使用实际的Google Gemini API密钥。

选项2:手动安装(来源)

如果你想修改代码或直接从源代码运行它:

  1. 克隆存储库:

    git clone https://github.com/minbang930/Youtube-Vision-MCP.git
    cd youtube-vision
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    
  4. 配置并运行: 然后,您可以使用以下命令运行编译后的代码 node dist/index.js 直接(确保 GEMINI_API_KEY 设置为环境变量)或配置MCP客户端以使用 node 命令和绝对路径 dist/index.js,通过 env 设置如npx示例所示。

配置

服务器使用以下环境变量:

  • GEMINI_API_KEY (必需):您的Google Gemini API密钥。
  • GEMINI_MODEL_NAME (可选):要使用的特定Gemini模型(例如。, gemini-1.5-flash).默认为 gemini-2.0-flash. 重要提示: 对于生产或商业用途,请确保您选择的模型版本未标记为“实验”或“预览”。

环境变量应设置在 env MCP客户端设置文件的一部分(例如。, mcp_settings.json).

可用工具

1. ask_about_youtube_video

回答有关视频的问题,如果没有问题,则提供一般描述。

  • 输入:
    • youtube_url (string,必填):YouTube视频的URL。
    • question (string,可选):关于视频要问的具体问题。如果省略,则生成一般描述。
  • 输出: 包含答案或描述的文本。

2. summarize_youtube_video

生成给定YouTube视频的摘要。

  • 输入:
    • youtube_url (string,必填):YouTube视频的URL。
    • summary_length (字符串,可选):所需的摘要长度(“短”、“中”、“长”)。默认为“中等”。
  • 输出: 包含视频摘要的文本。

3. extract_key_moments

从给定的YouTube视频中提取关键时刻(时间戳和描述)。

  • 输入:
    • youtube_url (string,必填):YouTube视频的URL。
    • number_of_moments (整数,可选):要提取的关键时刻数。默认为3。
  • 输出: 用时间戳描述关键时刻的文本。

4. list_supported_models

列出支持以下功能的可用Gemini型号 generateContent 方法(通过REST API获取)。

  • 输入: 无
  • 输出: 列出支持的型号名称的文本。

重要提示

  • 生产型号选择: 当将此服务器用于生产或商业目的时,请确保选择 GEMINI_MODEL_NAME 是一个适合生产使用的稳定版本。根据 Gemini API服务条款,标记为“实验”或“预览”的模型不允许用于生产部署。
  • API服务条款: 此服务器的使用依赖于Google Gemini API。用户有责任审查和遵守 Google API服务条款 和那个 Gemini API附加服务条款请注意,Gemini API的免费和付费层之间的数据使用策略可能有所不同。使用免费等级时,请勿提交敏感或机密信息。
  • 内容责任: 无法保证通过Gemini API生成的内容的准确性和适当性。在依赖或发布生成的内容之前,请谨慎行事。

许可证

该项目根据MIT许可证获得许可。有关详细信息,请参阅LICENSE文件。