使用说明
YouTube MCP服务器
YouTube的模型上下文协议(MCP)服务器实现,使AI语言模型能够通过标准化的界面与YouTube内容进行交互。更新以支持MCP SDK 1.23。
特性
视频信息
- 获取视频详细信息(标题、描述、持续时间等)
- 列出频道视频
- 获取视频统计数据(浏览量、点赞、评论)
- 在YouTube上搜索视频
成绩单管理
- 检索视频记录
- 支持多种语言
- 获取带有时间戳的字幕
- 在成绩单中搜索
渠道管理
- 获取频道详细信息
- 列出频道播放列表
- 获取频道统计信息
- 在频道内容内搜索
播放列表管理
- 列出播放列表项目
- 获取播放列表详细信息
- 搜索播放列表
安装
Claude桌面的快速设置
- 安装软件包:
npm install -g @yilin-jing/youtube-mcp-server
- 添加到您的Claude Desktop配置(
~/Library/Application Support/Claude/claude_desktop_config.json在macOS或%APPDATA%\Claude\claude_desktop_config.json在Windows上):
{
"mcpServers": {
"youtube": {
"command": "youtube-mcp-server",
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key_here"
}
}
}
}
替代方案:使用NPX(无需安装)
将此添加到您的Claude Desktop配置中:
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@yilin-jing/youtube-mcp-server"],
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key_here"
}
}
}
}
配置
设置以下环境变量:
YOUTUBE_API_KEY:您的YouTube数据API密钥(必需)YOUTUBE_TRANSCRIPT_LANG:成绩单的默认语言(可选,默认为“en”)
YouTube API设置
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 启用YouTube数据API v3
- 创建API凭据(API密钥)
- 复制API密钥进行配置
可用工具
| 工具 | 说明 |
|---|---|
videos_getVideo |
获取有关YouTube视频的详细信息 |
videos_searchVideos |
在YouTube上搜索视频 |
transcripts_getTranscript |
获取YouTube视频的文字记录 |
channels_getChannel |
获取有关YouTube频道的信息 |
channels_listVideos |
从特定频道获取视频 |
playlists_getPlaylist |
获取有关YouTube播放列表的信息 |
playlists_getPlaylistItems |
在YouTube播放列表中获取视频 |
例子
管理视频
// Get video details
const video = await youtube.videos_getVideo({
videoId: "dQw4w9WgXcQ"
});
// Search videos
const searchResults = await youtube.videos_searchVideos({
query: "TypeScript tutorial",
maxResults: 10
});
管理成绩单
// Get video transcript
const transcript = await youtube.transcripts_getTranscript({
videoId: "dQw4w9WgXcQ",
language: "en"
});
管理渠道
// Get channel details
const channel = await youtube.channels_getChannel({
channelId: "UC_x5XG1OV2P6uZZ5FSM9Ttw"
});
// List channel videos
const videos = await youtube.channels_listVideos({
channelId: "UC_x5XG1OV2P6uZZ5FSM9Ttw",
maxResults: 50
});
管理播放列表
// Get playlist items
const playlistItems = await youtube.playlists_getPlaylistItems({
playlistId: "PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf",
maxResults: 50
});
// Get playlist details
const playlist = await youtube.playlists_getPlaylist({
playlistId: "PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf"
});
发展
# Install dependencies
npm install
# or
bun install
# Build
npm run build
# Run tests
bun test
# Start server
npm start
测试
该项目包括50项全面测试,涵盖所有服务:
# Run tests with bun
YOUTUBE_API_KEY="your_api_key" bun test
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
鸣谢
最初分叉自 ZubeidHendricks/youtube mcp服务器,更新了MCP SDK 1.23支持和全面的测试覆盖率。