一个针对 YouTube 的 Model Context Protocol (MCP) 服务器实现,借助标准化接口,让 AI 语言模型能够与 YouTube 内容进行交互,极大地拓展了 AI 在视频数据处理方面的能力。
本服务器允许 AI 语言模型通过标准化接口与 YouTube 内容交互。你可以通过 Smithery 自动安装,也能手动安装,之后进行必要的配置,即可与 MCP 客户端配合使用。
要通过 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 客户端配置中添加以下内容(例如 Claude Desktop):
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-youtube"],
"env": {
"YOUTUBE_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"
});
npm install
npm test
npm run build
npm run fix
如需贡献,请查看 CONTRIBUTING.md。
本项目遵循 MIT 协议。更多信息请查阅 LICENSE 文件。