使用说明
项目简介
本项目 'YouTube数据MCP服务器' 是一个实现了 Model Context Protocol (MCP) 协议的后端服务,旨在为大型语言模型 (LLM) 提供结构化的 YouTube 数据访问能力。通过此服务器,LLM 可以调用预设的工具来获取 YouTube 视频的详细信息、搜索视频、获取视频字幕、分析频道数据以及挖掘热门视频趋势等,从而增强 LLM 在处理和理解视频内容方面的能力。
主要功能点
- 视频信息查询: 获取 YouTube 视频的详细元数据、统计数据和内容信息。
- 视频搜索: 根据关键词搜索 YouTube 视频。
- 字幕/文稿管理: 检索多语言视频字幕,支持指定语言偏好。
- 频道分析: 查看频道统计数据,获取频道热门视频,分析频道增长和互动指标。
- 趋势分析: 查看指定地区和类别的热门视频。
- 视频互动分析: 计算和分析视频的互动率,比较多个视频的统计数据。
核心功能总结: 通过一系列预定义的工具,本项目使得 LLM 能够以标准化的方式与 YouTube 数据进行交互,无需复杂的 API 调用和数据处理,即可轻松获取和利用 YouTube 平台的海量信息。
安装步骤
方法一:使用 Smithery 自动安装 (推荐 Claude Desktop 用户)
如果您使用 Claude Desktop,可以通过 Smithery 快速安装:
- 确保已安装 Smithery CLI。
- 运行以下命令:
这将自动完成安装和 Claude Desktop 的配置。npx -y @smithery/cli install @icraft2170/youtube-data-mcp-server --client claude
方法二:手动安装
- 安装 Node.js: 确保您的系统已安装 Node.js 18.0.0 或更高版本。
- 通过 npm 安装:
或 克隆仓库:npm install youtube-data-mcp-servergit clone https://github.com/icraft2170/youtube-data-mcp-server.git cd youtube-data-mcp-server npm install - 配置环境变量:
- 'YOUTUBE_API_KEY': 必须设置。您需要一个 YouTube Data API v3 的 API 密钥。请参考 "YouTube API Setup" 步骤获取。
- 'YOUTUBE_TRANSCRIPT_LANG' (可选): 设置默认字幕语言,默认为韩语 ('ko')。您可以设置为 'en' (英语) 或其他语言代码。
YouTube API Setup (API 密钥获取)
- 访问 Google Cloud Console: https://console.cloud.google.com/
- 创建或选择项目: 创建一个新的 Google Cloud 项目或选择现有项目。
- 启用 YouTube Data API v3: 在项目中搜索 "YouTube Data API v3" 并启用。
- 创建 API 凭据: 在 "凭据" 页面创建 API 密钥。选择 "API 密钥" -> "限制密钥" (可选,但推荐限制密钥的使用范围)。
- 复制 API 密钥: 将生成的 API 密钥复制下来,并设置为环境变量 'YOUTUBE_API_KEY'。
服务器配置 (MCP 客户端配置)
对于 MCP 客户端(例如 Claude Desktop),您需要在其配置文件中添加 YouTube MCP 服务器的配置信息。以下是一个示例 JSON 配置,请根据您的实际情况进行调整:
{ "mcpServers": { "youtube": { // 服务器名称,客户端用以标识和调用,可以自定义 "command": "npx", // 启动服务器的命令,这里使用 npx "args": ["-y", "youtube-data-mcp-server"], // 启动命令的参数,-y 表示自动确认,youtube-data-mcp-server 是服务器入口 "env": { "YOUTUBE_API_KEY": "YOUR_API_KEY_HERE", // 替换为您的 YouTube API 密钥 "YOUTUBE_TRANSCRIPT_LANG": "en" // 可选:设置默认字幕语言,例如英语 } } } }
配置说明:
- '"youtube"': 服务器的名称,您可以自定义,用于在客户端中引用此服务器。
- '"command": "npx"' 和 '"args": ["-y", "youtube-data-mcp-server"]': 指定了服务器的启动命令。 这表示使用 'npx' 运行 'youtube-data-mcp-server','-y' 参数用于自动确认 'npx' 的安装提示(如果需要)。
- '"env"': 设置服务器运行所需的环境变量。
- '"YOUTUBE_API_KEY": "YOUR_API_KEY_HERE"': 请务必将 '"YOUR_API_KEY_HERE"' 替换为您从 Google Cloud Console 获取的 YouTube API 密钥。 这是服务器访问 YouTube API 的凭证。
- '"YOUTUBE_TRANSCRIPT_LANG": "en"': (可选)您可以设置默认的字幕语言,例如设置为 '"en"' 代表英语。 如果不设置,默认语言为韩语 ('ko')。
请注意: MCP 客户端会读取此配置,并使用配置中的命令和参数来启动 YouTube MCP 服务器进程,并与之建立连接,从而允许 LLM 通过客户端调用 YouTube MCP 服务器提供的工具。
基本使用方法
配置完成后,您的 MCP 客户端(如 Claude Desktop)应该能够识别并连接到 YouTube MCP 服务器。 您可以通过客户端提供的界面或指令,调用以下工具来访问 YouTube 数据:
- 'getVideoDetails': 获取视频详细信息,参数:'videoId' (视频ID)。
- 'searchVideos': 搜索视频,参数:'query' (搜索关键词), 'maxResults' (可选,最大结果数)。
- 'getTranscripts': 获取视频字幕,参数:'videoIds' (视频ID数组), 'lang' (可选,字幕语言)。
- 'getRelatedVideos': 获取相关视频,参数:'videoId' (视频ID), 'maxResults' (可选,最大结果数)。
- 'getChannelStatistics': 获取频道统计数据,参数:'channelIds' (频道ID数组)。
- 'getChannelTopVideos': 获取频道热门视频,参数:'channelId' (频道ID), 'maxResults' (可选,最大结果数)。
- 'getVideoEngagementRatio': 计算视频互动率,参数:'videoIds' (视频ID数组)。
- 'getTrendingVideos': 获取热门视频,参数:'regionCode' (可选,地区代码), 'categoryId' (可选,类别ID), 'maxResults' (可选,最大结果数)。
- 'compareVideos': 比较视频统计数据,参数:'videoIds' (视频ID数组)。
使用示例 (在支持 MCP 的 LLM 客户端中):
假设您想查询视频 ID 为 'dQw4w9WgXcQ' 的详细信息,您可以使用 'getVideoDetails' 工具,并提供 'videoId' 参数。 具体的调用方式取决于您使用的 MCP 客户端的接口。 通常,您需要告诉 LLM 使用 "youtube" 服务器的 "getVideoDetails" 工具,并传入相应的参数。
例如,在 Claude 中,您可能会这样指示:
@youtube/getVideoDetails videoId="dQw4w9WgXcQ"
LLM 客户端会将此指令转换为 MCP 请求发送给 YouTube MCP 服务器,服务器执行相应的工具并返回结果,最终 LLM 客户端会将结果呈现给您。
请参考您使用的 MCP 客户端的文档,了解如何配置和调用 MCP 服务器提供的工具。
信息
分类
网页与API