YouTube视频数据服务

一个结合YouTube Data API和yt-dlp的MCP服务器,提供视频元数据、评论、字幕提取等功能。

  • by jackc1111
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 jackc1111/youtube-hybrid-mcp

使用说明

YouTube混合MCP服务器

模型上下文协议(MCP)服务器,使用YouTube数据API和yt-dlp提供YouTube视频工具。

特性

  • 获取视频元数据(标题、描述、视图、点赞、频道ID等)
  • 检索视频评论
  • 提取视频字幕/文字记录(支持自动生成字幕)
  • 强大的缩略图提取
  • 搜索视频并检索相关频道内容

先决条件

安装

通过npx(发布后)

npx youtube-hybrid-mcp

本地开发

git clone <repository-url>
cd youtube-hybrid-mcp
npm install
npm run build

获取YouTube API密钥

要使用此MCP服务器,您需要YouTube Data API v3密钥。请按照以下步骤操作:

1.创建谷歌云项目

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目

2.启用YouTube数据API v3

  1. 在云控制台中,转到“API和服务”>“库”
  2. 搜索“YouTube数据API v3”
  3. 点击并启用API

3.创建API凭据

  1. 转到“API和服务”>“凭据”
  2. 单击“创建凭据”>“API密钥”
  3. 复制生成的API密钥

4.限制API密钥(推荐)

  1. 单击已创建的API密钥
  2. 在“应用限制”下:
    • 选择“HTTP引用者”
    • 添加您的域名或不受限制地进行开发
  3. 根据“API限制”:
    • 选择“限制键”
    • 选择“YouTube数据API v3”
  4. 保存更改

5.设置环境变量

export YOUTUBE_API_KEY=your_api_key_here

备注:确保API密钥的安全,永远不要将其提交给版本控制。

安装yt-dlp

yt-dlp仅适用于 get_subtitles 工具。如果您不需要字幕功能,可以跳过此步骤。

视窗

pip install yt-dlp

macOS

pip install yt-dlp
# or using Homebrew
brew install yt-dlp

Linux

推荐(最新版本):

sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp

使用包管理器(可能已过时):

# Ubuntu/Debian/Mint
sudo apt install yt-dlp
# Fedora
sudo dnf install yt-dlp
# Arch Linux
sudo pacman -S yt-dlp

验证安装

安装后,验证yt-dlp是否在您的PATH中:

yt-dlp --version

如果未找到yt-dlp,您可能需要将Python脚本添加到PATH中:

  • 视窗:添加 %USERPROFILE%\AppData\Roaming\Python\Python3X\Scripts 前往PATH
  • macOS/Linux:添加 ~/.local/bin 前往PATH

配置

环境设置

将YouTube API密钥设置为环境变量:

export YOUTUBE_API_KEY=your_api_key_here

编辑器/IDE配置

VSCode(带KiloCode扩展)

添加到MCP设置(通常在 settings.json 或MCP配置):

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "youtube-hybrid-mcp"],
      "env": {
        "YOUTUBE_API_KEY": "your_api_key_here"
      }
    }
  }
}

光标

添加到您的 .cursorrules 或MCP配置:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "youtube-hybrid-mcp"],
      "env": {
        "YOUTUBE_API_KEY": "your_api_key_here"
      }
    }
  }
}

克劳德桌面版

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "youtube-hybrid-mcp"],
      "env": {
        "YOUTUBE_API_KEY": "your_api_key_here"
      }
    }
  }
}

其他MCP兼容编辑器

对于任何兼容MCP的编辑器,请使用以下配置:

{
  "mcpServers": {
    "youtube": {
      "command": "npx",
      "args": ["-y", "youtube-hybrid-mcp"],
      "env": {
        "YOUTUBE_API_KEY": "your_api_key_here"
      }
    }
  }
}

用法

直接运行服务器:

npm start

或者通过npx:

npx youtube-hybrid-mcp

工具

获取_视频_数据

检索YouTube视频的元数据。

参数:

  • videoId (string):YouTube视频ID

退货: title、description、published At、channelId、channelTitle、viewCount、like Count、commentCount。

获取_注释

检索YouTube视频的评论。

参数:

  • videoId (string):YouTube视频ID
  • maxResults (数字,可选):最大评论数(默认值:10)

get_subtitles

从YouTube视频中提取字幕/文字记录。

参数:

  • videoId (string):YouTube视频ID
  • language (字符串,可选):语言代码(默认值:“en”)

获取相关视频

获取与特定视频相关的视频(显示来自同一频道的其他视频)。

参数:

  • videoId (string):YouTube视频ID
  • maxResults (数量,可选):相关视频的最大数量(默认值:10)

get_channel_info

获取有关YouTube频道的信息。

参数:

  • channelId (string):YouTube频道ID

搜索_视频

在YouTube上搜索视频。

参数:

  • query (string):搜索查询
  • maxResults (数字,可选):最大结果数(默认值:10)

获取_视频_缩略图

获取视频的缩略图信息。

参数:

  • videoId (string):YouTube视频ID

MCP集成

此服务器实现了模型上下文协议,可以与MCP兼容的客户端一起使用。

许可证

麻省理工学院