YouTube-MCP 服务端添加福利群:解决AI开发者的「MCP实战痛点」一个用于 YouTube 的模型上下文协议(MCP)服务器实现,使 AI 语言模型能够通过标准化接口与 YouTube 内容进行交互。
npm install -g zubeid-youtube-mcp-server
~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上为 %APPDATA%\Claude\claude_desktop_config.json):{
"mcpServers": {
"zubeid-youtube-mcp-server": {
"command": "zubeid-youtube-mcp-server",
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key_here"
}
}
}
}

将此添加到您的 Claude Desktop 配置中:
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "zubeid-youtube-mcp-server"],
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key_here"
}
}
}
}

要通过 Smithery 自动为 Claude Desktop 安装 YouTube MCP 服务器:
npx -y @smithery/cli install @ZubeidHendricks/youtube --client claude
设置以下环境变量:
YOUTUBE_API_KEY: 您的 YouTube Data API 密钥(必需)YOUTUBE_TRANSCRIPT_LANG: 字幕的默认语言(可选,默认为 'en')要一键安装,请点击以下安装按钮之一:
如果您更喜欢手动安装,请首先查看本节顶部的安装按钮。否则,请按照以下步骤操作:
将以下 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", "zubeid-youtube-mcp-server"],
"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", "zubeid-youtube-mcp-server"],
"env": {
"YOUTUBE_API_KEY": "${input:apiKey}"
}
}
}
}

// 获取视频详情
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: "search term",
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.getPlaylistItems({
playlistId: "playlist-id",
maxResults: 50
});
// 获取播放列表详情
const playlist = await youtube.playlists.getPlaylist({
playlistId: "playlist-id"
});

# 安装依赖
npm install
# 运行测试
npm test
# 构建
npm run build
# 代码检查
npm run lint

有关如何为此仓库做出贡献的信息,请参阅 CONTRIBUTING.md。
本项目根据 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。