article
README
🚀 YouTube MCP 服务器
一个针对 YouTube 的 Model Context Protocol (MCP) 服务器实现,借助标准化接口,让 AI 语言模型能够与 YouTube 内容进行交互,极大地拓展了 AI 在视频数据处理方面的能力。
🚀 快速开始
本服务器允许 AI 语言模型通过标准化接口与 YouTube 内容交互。你可以通过 Smithery 自动安装,也能手动安装,之后进行必要的配置,即可与 MCP 客户端配合使用。
✨ 主要特性
视频信息
- 获取视频详细信息(标题、描述、时长等)
- 列出频道的视频
- 获取视频统计信息(观看次数、点赞、评论)
- 搜索 YouTube 上的视频
转录管理
- 获取视频字幕
- 支持多种语言
- 获取时间戳字幕
- 在转录中搜索内容
频道管理
- 获取频道详细信息
- 列出频道的播放列表
- 获取频道统计信息
- 搜索频道内容
播放列表管理
- 列出播放列表项
- 获取播放列表详细信息
- 搜索播放列表中的内容
- 获取播放列表视频的转录
📦 安装指南
通过 Smithery 安装
要通过 Smithery 自动安装 YouTube Server for Claude Desktop,可使用以下命令:
npx -y @smithery/cli install @modelcontextprotocol/server-youtube --client claude
手动安装
npm install @modelcontextprotocol/server-youtube
🔧 配置
设置以下环境变量:
YOUTUBE_API_KEY:您的 YouTube 数据 API 密钥YOUTUBE_TRANSCRIPT_LANG:转录的默认语言(可选, defaults to 'en')
💻 使用示例
与 MCP 客户端配合使用
在您的 MCP 客户端配置中添加以下内容(例如 Claude Desktop):
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-youtube"],
"env": {
"YOUTUBE_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
管理视频
// 获取视频详细信息
const video = await youtube.videos.getVideo({
videoId: "video-id"
});
// 获取视频转录
const transcript = await youtube.transcripts.getTranscript({
videoId: "video-id",
language: "en"
});
// 搜索视频
const searchResults = await youtube.videos.searchVideos({
query: "搜索词",
maxResults: 10
});
管理频道
// 获取频道详细信息
const channel = await youtube.channels.getChannel({
channelId: "channel-id"
});
// 列出频道的视频
const videos = await youtube.channels.listVideos({
channelId: "channel-id",
maxResults: 50
});
管理播放列表
// 获取播放列表项
const playlistItems = await youtube.playlists.getItems({
playlistId: "playlist-id"
});
// 获取播放列表详细信息
const playlist = await youtube.playlists.getPlaylist({
playlistId: "playlist-id"
});
📚 详细文档
YouTube API 设置
- 访问 Google Cloud Console
- 创建新项目或选择现有项目
- 启用 YouTube 数据 API v3
- 创建 API 凭据(API 密钥)
- 复制 API 密钥用于配置
🔧 技术细节
开发
安装依赖
npm install
运行测试
npm test
构建
npm run build
修复
npm run fix
🤝 贡献指南
如需贡献,请查看 CONTRIBUTING.md。
📄 许可证
本项目遵循 MIT 协议。更多信息请查阅 LICENSE 文件。
扫码联系在线客服