s

spolepaka

@spolepaka/ephor-youtube-mcp
0 Stars 332 次浏览 spolepaka 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

YouTube MCP 集成

此项目提供了一个 Model Context Protocol (MCP) 的 YouTube 集成,允许大型语言模型(LLMs)通过标准化工具搜索 YouTube、获取视频信息和检索字幕。

功能

  • YouTube 搜索工具:在 YouTube 上搜索视频,并可配置结果数量限制
  • 视频信息工具:获取有关 YouTube 视频的详细信息
  • 字幕工具:检索并解析 YouTube 视频的字幕

架构

该实现遵循 Model Context Protocol (MCP) 规范,该规范标准化了 LLMs 与外部工具和资源交互的方式。架构包括:

  1. MCP 服务器:通过 HTTP/SSE 传输提供 YouTube 功能作为 MCP 工具
  2. YouTube API 集成:抓取 YouTube 数据以提供搜索、视频信息和字幕功能
  3. MCP 客户端:示例客户端展示如何使用 MCP YouTube 工具

开始使用

前提条件

  • Node.js 18+
  • npm

安装

bash

克隆仓库

git clone https://github.com/your-username/ephor-youtube-mcp.git
cd ephor-youtube-mcp

安装依赖

npm install

构建项目

npm run build

运行服务器

启动 MCP 服务器:

bash
npm run start

服务器将在 http://localhost:3000 启动,包含以下端点:

  • SSE 端点:/sse
  • 消息端点:/messages

使用 MCP 客户端

这些 MCP 工具可以与任何兼容 MCP 的客户端一起使用。下面是一个如何使用这些工具的例子:

typescript
// 初始化客户端
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'
}
});

可用工具

搜索 YouTube 视频。

参数:

  • query (字符串, 必需): 搜索查询
  • limit (数字, 可选): 最大结果数 (1-10, 默认: 5)

响应:
一个包含标题、视频 ID、URL、缩略图、描述、频道信息、观看次数和发布日期等细节的视频结果列表。

youtube_get_video_info

获取关于 YouTube 视频的详细信息。

参数:

  • input (字符串, 必需): YouTube 视频 ID 或 URL

响应:
详细的视频信息,包括标题、描述、观看次数、发布日期、频道详情和缩略图 URL。

youtube_get_transcript

获取 YouTube 视频的字幕。

参数:

  • input (字符串, 必需): YouTube 视频 ID 或 URL

响应:
带有时间戳条目的视频字幕,以及基本的视频信息。

许可证

MIT

致谢

相关 MCP 服务