YouTube-MCP 服务端
该服务器允许人工智能语言模型通过标准化接口与YouTube内容进行交互,提供视频和频道信息检索、字幕管理和播放列表操作等功能。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"youtube": {
"args": [
"-y",
"@modelcontextprotocol/server-youtube"
],
"command": "npx",
"env": {
"YOUTUBE_API_KEY": "\u003cYOUR_API_KEY\u003e"
}
}
}
}
服务介绍
YouTube MCP 服务器
这是一个用于 YouTube 的模型上下文协议(MCP)服务器实现,它允许 AI 语言模型通过标准化接口与 YouTube 内容进行交互。
功能
视频信息
- 获取视频详情(标题、描述、时长等)
- 列出频道中的视频
- 获取视频统计信息(观看次数、点赞数、评论数)
- 在整个 YouTube 上搜索视频
字幕管理
- 检索视频字幕
- 支持多种语言
- 获取带时间戳的字幕
- 在字幕中搜索
频道管理
- 获取频道详情
- 列出频道播放列表
- 获取频道统计信息
- 在频道内容中搜索
播放列表管理
- 列出播放列表项目
- 获取播放列表详情
- 在播放列表内搜索
- 获取播放列表视频字幕
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 YouTube MCP 服务器:
npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude
手动安装
npm install @modelcontextprotocol/server-youtube
配置
设置以下环境变量:
YOUTUBE_API_KEY: 您的 YouTube 数据 API 密钥YOUTUBE_TRANSCRIPT_LANG: 字幕默认语言(可选,默认为 'en')
与 MCP 客户端一起使用
将此添加到您的 MCP 客户端配置中(例如 Claude Desktop):
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-youtube"],
"env": {
"YOUTUBE_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
与 VS Code 一起使用
对于一键安装,请点击下面的一个安装按钮:
手动安装
如果您更喜欢手动安装,请首先查看本节顶部的安装按钮。否则,请按照以下步骤操作:
将以下 JSON 块添加到 VS Code 中的用户设置(JSON)文件中。您可以通过按 Ctrl + Shift + P 并输入 Preferences: Open User Settings (JSON) 来完成此操作。
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "YouTube API Key",
"password": true
}
],
"servers": {
"youtube": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-youtube"],
"env": {
"YOUTUBE_API_KEY": "${input:apiKey}"
}
}
}
}
}
或者,您可以将其添加到工作区中的 .vscode/mcp.json 文件中:
{
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "YouTube API Key",
"password": true
}
],
"servers": {
"youtube": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-youtube"],
"env": {
"YOUTUBE_API_KEY": "${input:apiKey}"
}
}
}
}
YouTube API 设置
- 转到 Google Cloud 控制台
- 创建一个新项目或选择一个现有项目
- 启用 YouTube 数据 API v3
- 创建 API 凭证(API 密钥)
- 复制 API 密钥以进行配置
示例
管理视频
// Get video details
const video = await youtube.videos.getVideo({
videoId: "video-id"
});
// Get video transcript
const transcript = await youtube.transcripts.getTranscript({
videoId: "video-id",
language: "en"
});
// Search videos
const searchResults = await youtube.videos.searchVideos({
query: "search term",
maxResults: 10
});
管理频道
// Get channel details
const channel = await youtube.channels.getChannel({
channelId: "channel-id"
});
// List channel videos
const videos = await youtube.channels.listVideos({
channelId: "channel-id",
maxResults: 50
});
管理播放列表
// Get playlist items
const playlistItems = await youtube.playlists.getPlaylistItems({
playlistId: "playlist-id",
maxResults: 50
});
// Get playlist details
const playlist = await youtube.playlists.getPlaylist({
playlistId: "playlist-id"
});
开发
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Lint
npm run lint
贡献
有关如何为该仓库贡献的信息,请参阅 CONTRIBUTING.md。
许可
该项目根据 MIT 许可证许可 - 有关详细信息,请参阅 LICENSE 文件。
- 克隆仓库
- 安装依赖项:
npm install - 将
.env.example复制为.env:cp .env.example .env - 编辑
.env并添加你的 YouTube API 密钥 - 启动服务器:
npm start
环境变量
YOUTUBE_API_KEY: 你的 YouTube Data API v3 密钥(从 Google Cloud Console 获取)
开发
- 要以带有自动重载的开发模式运行:
npm run dev - 构建项目:
npm run build
安全提示
始终确保你的 API 密钥安全,并且不要将它们提交到版本控制系统中。