YouTube MCP Integration

YouTube MCP Integration

site icon
2025.03.21 0
TypeScriptYouTube 集成视频数据处理内容生成
ephor-youtube-mcp 是一个基于 Model Context Protocol (MCP) 的 YouTube 集成项目,允许 LLMs(大型语言模型)通过标准化工具搜索 YouTube、获取视频信息和检索视频字幕。该项目提供了 YouTube 搜索、视频信息获取和字幕检索等功能,适用于需要与 YouTube 交互的自动化场景。
View on GitHub

Overview

基本能力

产品定位

ephor-youtube-mcp 是一个为 LLMs 提供 YouTube 数据交互能力的 MCP 集成服务,旨在通过标准化工具简化 YouTube 数据的获取和处理。

核心功能

  • YouTube 搜索工具:支持通过关键词搜索 YouTube 视频,并可配置结果数量限制。
  • 视频信息工具:获取 YouTube 视频的详细信息,包括标题、描述、观看次数、发布时间等。
  • 字幕工具:检索并解析 YouTube 视频的字幕,支持时间戳标记。

适用场景

  • 自动化内容生成:通过获取 YouTube 视频信息或字幕,生成相关内容或摘要。
  • 数据分析:收集 YouTube 视频数据进行分析或研究。
  • 教育工具:自动提取视频字幕用于学习或翻译。

工具列表

  1. youtube_search:搜索 YouTube 视频,支持配置结果数量。
  2. youtube_get_video_info:获取指定视频的详细信息。
  3. youtube_get_transcript:检索视频的字幕内容。

常见问题解答

  • 如何配置搜索结果的限制数量?:通过 limit 参数设置,范围为 1-10,默认为 5。
  • 是否支持非公开视频的信息获取?:不支持,仅能获取公开视频的信息和字幕。

使用教程

使用依赖

  • Node.js 18+
  • npm

安装教程

# 克隆仓库
git clone https://github.com/your-username/ephor-youtube-mcp.git
cd ephor-youtube-mcp

# 安装依赖
npm install

# 构建项目
npm run build

运行服务器

npm run start

服务器将启动在 http://localhost:3000,提供以下端点: - SSE 端点:/sse - 消息端点:/messages

调试方式

使用 MCP 兼容客户端调用工具,示例代码如下:

// 初始化客户端
const client = new Client(
  { name: 'youtube-client', version: '1.0.0' },
  { capabilities: { tools: {} } }
);

// 连接到服务器
await client.connect(transport);

// 搜索 YouTube
const searchResults = await client.callTool({
  name: 'youtube_search',
  arguments: {
    query: 'javascript tutorial',
    limit: 3
  }
});

// 获取视频信息
const videoInfo = await client.callTool({
  name: 'youtube_get_video_info',
  arguments: {
    input: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
  }
});

// 获取视频字幕
const transcript = await client.callTool({
  name: 'youtube_get_transcript',
  arguments: {
    input: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
  }
});

许可证

该项目遵循 MIT 开源许可条款。