mcpField
Y
YouTube MCP Server

YouTube MCP Server

本地服务
github.com/nattyraz媒体与设计524 周前更新

关于 YouTube MCP Server

YouTube MCP Server 为视频提供元数据、字幕提取和 Markdown 转换功能,适合需要处理视频内容的客户端与 Agent。它提供多种格式模板,并支持在字幕中搜索。

主要功能

  1. 01获取 YouTube 视频元数据
  2. 02提取自动生成或人工字幕
  3. 03支持英语和法语字幕
  4. 04使用三种模板转换为 Markdown
  5. 05在视频字幕中搜索内容

适用场景

  1. 01提取视频字幕用于阅读或整理
  2. 02按时间戳生成视频内容的 Markdown 文档
  3. 03在字幕中查找关键词及其上下文

MCP 相关

通过 MCP 提供视频信息获取、字幕提取、Markdown 转换和模板列表工具;API key 或 OAuth2 可用于身份验证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

YouTube MCP 服务

一个用于与 YouTube 视频交互的模型上下文协议(MCP)服务。该服务提供提取视频元数据、字幕并使用各种模板将其转换为 Markdown 格式的工具。

功能

  • 视频元数据:获取全面的视频信息
  • 字幕提取:支持自动生成的字幕和人工字幕
  • 多语言:内置支持英语和法语
  • 模板系统:内置三种 Markdown 模板:
    • 基础:简单的转录文本格式
    • 详细:包含时间戳的完整元数据
    • 搜索:突出显示搜索结果并附带上下文
  • 搜索功能:在视频字幕中搜索
  • 灵活的身份验证:支持 API 密钥和 OAuth2 身份验证

前提条件

  • Node.js(v16 或更高版本)
  • npm 或 yarn
  • YouTube Data API 密钥和/或 OAuth2 凭据

安装

  1. 克隆仓库:
git clone [repository-url]
cd youtube-mcp
  1. 安装依赖:
npm install
  1. 构建项目:
npm run build

配置

在根目录中创建 .env 文件,并填入 YouTube 凭据:

YOUTUBE_API_KEY=your_api_key
YOUTUBE_CLIENT_ID=your_client_id
YOUTUBE_CLIENT_SECRET=your_client_secret
YOUTUBE_REFRESH_TOKEN=your_refresh_token  # Optional, for OAuth2

MCP 配置

将服务添加到 MCP 设置文件(通常位于 ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json):

{
  "mcpServers": {
    "youtube": {
      "command": "node",
      "args": ["path/to/youtube-mcp/build/index.js"],
      "env": {
        "YOUTUBE_API_KEY": "your_api_key",
        "YOUTUBE_CLIENT_ID": "your_client_id",
        "YOUTUBE_CLIENT_SECRET": "your_client_secret"
      },
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

使用方法

该服务提供以下工具:

1. 获取视频信息
use_mcp_tool youtube get_video_info {
  "url": "https://www.youtube.com/watch?v=VIDEO_ID"
}
2. 获取字幕
use_mcp_tool youtube get_captions {
  "url": "https://www.youtube.com/watch?v=VIDEO_ID",
  "language": "en"  // Optional, defaults to "en"
}
3. 转换为 Markdown
use_mcp_tool youtube convert_to_markdown {
  "url": "https://www.youtube.com/watch?v=VIDEO_ID",
  "template_name": "detailed",  // Optional, "basic", "detailed", or "search"
  "language": "en",            // Optional
  "options": {                 // Optional
    "include_chapters": true,
    "search_term": "keyword"   // Only for search template
  }
}
4. 列出模板
use_mcp_tool youtube list_templates

依赖项

{
  "dependencies": {
    "@modelcontextprotocol/sdk": "latest",
    "googleapis": "^146.0.0",
    "google-auth-library": "^9.0.0",
    "youtube-captions-scraper": "^2.0.0",
    "express": "^4.18.2",
    "open": "^9.1.0"
  },
  "devDependencies": {
    "@types/node": "^20.0.0",
    "typescript": "^5.0.0",
    "tsx": "^4.0.0"
  }
}

OAuth2 设置

对于 OAuth2 身份验证(访问私密视频时需要):

  1. 在 Google Cloud Console 中创建项目
  2. 启用 YouTube Data API v3
  3. 创建 OAuth2 凭据(Web 应用类型)
  4. 运行身份验证脚本:
node src/get-api-key.js
  1. 按照浏览器提示授权应用
  2. 将刷新令牌复制到配置中

自定义模板

你可以通过修改 src/index.ts 中的 DEFAULT_TEMPLATES 数组来添加自定义模板。模板结构如下:

interface MarkdownTemplate {
  name: string;
  description: string;
  format: {
    header?: string;
    chapter_format?: string;
    caption_block: string;
    timestamp_format?: string;
    search_result_format?: string;
  }
}

许可证

MIT

贡献

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 将更改推送到分支(git push origin feature/amazing-feature)
  5. 发起 Pull Request

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。