
YouTube MCP Integration

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 视频数据进行分析或研究。
- 教育工具:自动提取视频字幕用于学习或翻译。
工具列表
- youtube_search:搜索 YouTube 视频,支持配置结果数量。
- youtube_get_video_info:获取指定视频的详细信息。
- 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'
}
});