YouTube MCP Server

YouTube MCP Server

一个服务器,它通过模型上下文协议实现与 YouTube 数据的交互,允许用户搜索视频、检索视频/频道的详细信息以及获取评论。

Category
访问服务器

README

YouTube MCP 服务器

smithery badge

一个用于与 YouTube 数据交互的模型上下文协议 (MCP) 服务器。该服务器提供资源和工具,通过 stdio 接口查询 YouTube 视频、频道、评论和字幕。

特性

  • 搜索 YouTube 视频,具有高级过滤选项
  • 获取有关特定视频和频道的详细信息
  • 比较多个视频的统计数据
  • 发现按地区和类别划分的热门视频
  • 分析频道表现和视频统计数据
  • 检索视频评论和字幕
  • 生成视频分析和字幕摘要

前提条件

  • Node.js (v16+)
  • YouTube Data API 密钥

安装

通过 Smithery 安装

要通过 Smithery 为 Claude Desktop 自动安装 YouTube MCP Server:

npx -y @smithery/cli install @coyaSONG/youtube-mcp-server --client claude

手动安装

  1. 克隆此存储库:

    git clone https://github.com/coyaSONG/youtube-mcp-server.git
    cd youtube-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 在根目录中创建一个 .env 文件:

    YOUTUBE_API_KEY=your_youtube_api_key_here
    PORT=3000
    

用法

构建和运行

  1. 构建项目:

    npm run build
    
  2. 运行服务器:

    npm start
    
  3. 在开发模式下运行:

    npm run dev
    
  4. 清理构建工件:

    npm run clean
    

Docker 部署

该项目包含一个用于容器化部署的 Dockerfile:

# 构建 Docker 镜像
docker build -t youtube-mcp-server .

# 运行容器
docker run -p 3000:3000 --env-file .env youtube-mcp-server

API 参考

资源

  • youtube://video/{videoId} - 获取有关特定视频的详细信息
  • youtube://channel/{channelId} - 获取有关特定频道的信息
  • youtube://transcript/{videoId} - 获取特定视频的字幕
    • 可选查询参数:?language=LANGUAGE_CODE (例如,en, ko, ja)

工具

基本工具

  • search-videos - 搜索 YouTube 视频,具有高级过滤选项
  • get-video-comments - 获取特定视频的评论
  • get-video-transcript - 获取特定视频的字幕,可以选择语言
  • enhanced-transcript - 高级字幕提取,具有过滤、搜索和多视频功能
  • get-key-moments - 从视频字幕中提取带有时间戳的关键时刻,以便于导航
  • get-segmented-transcript - 将视频字幕分成多个片段,以便于分析

统计工具

  • get-video-stats - 获取特定视频的统计信息
  • get-channel-stats - 获取订阅者数量、观看次数和其他频道统计信息
  • compare-videos - 比较多个视频的统计数据

发现工具

  • get-trending-videos - 检索按地区和类别划分的热门视频
  • get-video-categories - 获取特定地区的可用视频类别

分析工具

  • analyze-channel-videos - 分析来自特定频道的视频的性能趋势

提示词

  • video-analysis - 生成 YouTube 视频的分析
  • transcript-summary - 根据视频的字幕生成视频摘要,具有可自定义的长度和关键词提取
  • segment-by-segment-analysis - 通过分析视频的每个片段来提供内容的详细分解

示例

访问视频字幕

youtube://transcript/dQw4w9WgXcQ

获取特定语言的字幕

youtube://transcript/dQw4w9WgXcQ?language=en

使用统计工具

// 获取视频统计信息
{
  "type": "tool",
  "name": "get-video-stats",
  "parameters": {
    "videoId": "dQw4w9WgXcQ"
  }
}

// 比较多个视频
{
  "type": "tool",
  "name": "compare-videos",
  "parameters": {
    "videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"]
  }
}

使用字幕摘要提示词

{
  "type": "prompt",
  "name": "transcript-summary",
  "parameters": {
    "videoId": "dQw4w9WgXcQ",
    "language": "en"
  }
}

使用增强字幕工具

// 基本的多视频字幕提取
{
  "type": "tool",
  "name": "enhanced-transcript",
  "parameters": {
    "videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"],
    "format": "timestamped"
  }
}

// 具有搜索和时间过滤
{
  "type": "tool",
  "name": "enhanced-transcript",
  "parameters": {
    "videoIds": ["dQw4w9WgXcQ"],
    "filters": {
      "timeRange": {
        "start": 60,  // 从 60 秒开始
        "end": 180    // 到 180 秒结束
      },
      "search": {
        "query": "never gonna",
        "contextLines": 2
      }
    },
    "format": "merged"
  }
}

// 具有智能分段,便于分析
{
  "type": "tool",
  "name": "enhanced-transcript",
  "parameters": {
    "videoIds": ["dQw4w9WgXcQ"],
    "filters": {
      "segment": {
        "count": 5,
        "method": "smart"  // 在自然停顿处断开
      }
    },
    "format": "timestamped",
    "language": "en"
  }
}

使用增强字幕分析功能

// 获取视频的关键时刻
{
  "type": "tool",
  "name": "get-key-moments",
  "parameters": {
    "videoId": "dQw4w9WgXcQ",
    "maxMoments": "5"
  }
}

// 获取分段字幕
{
  "type": "tool",
  "name": "get-segmented-transcript",
  "parameters": {
    "videoId": "dQw4w9WgXcQ",
    "segmentCount": "4"
  }
}

// 获取逐段分析
{
  "type": "prompt",
  "name": "segment-by-segment-analysis",
  "parameters": {
    "videoId": "dQw4w9WgXcQ",
    "segmentCount": "4"
  }
}

// 获取自定义字幕摘要
{
  "type": "prompt",
  "name": "transcript-summary",
  "parameters": {
    "videoId": "dQw4w9WgXcQ",
    "language": "en",
    "summaryLength": "detailed",
    "includeKeywords": "true"
  }
}

错误处理

服务器处理各种错误情况,包括:

  • 无效的 API 密钥
  • 找不到视频或频道
  • 字幕不可用
  • 网络问题

许可证

MIT

致谢

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选