article
README
🚀 YouTube MCP 服务器
这个 YouTube MCP 服务器是一个基于模型上下文协议(MCP)的工具,它能与 YouTube 数据 API 和字幕抓取器进行交互,可通过统一接口访问视频信息和字幕数据,为用户提供便捷的数据获取体验。
🚀 快速开始
此服务器基于模型上下文协议(MCP),可与 YouTube 数据 API 和字幕抓取器交互,为您提供统一接口来访问视频信息和字幕数据。接下来,您可以按照以下步骤进行操作。
✨ 主要特性
- 获取视频详细信息:精准获取视频的各类详细信息。
- 提取字幕:支持从视频中提取字幕内容。
- 搜索相关视频:可搜索与目标相关的视频资源。
- 分析内容:对视频内容进行分析处理。
- 支持多种格式输出:满足不同场景下的输出需求。
📦 安装指南
方式一:使用 npm
npm install youtube-mcp-server
方式二:从源代码构建
- 克隆仓库:
git clone https://github.com/your-repository.git cd your-repository - 安装依赖项:
npm install - 启动服务器:
npm start
💻 使用示例
基础用法
初始化 MCP 代理
const { MCP } = require('youtube-mcp-server');
const mcp = new MCP({
apiKey: 'your_api_key', // 替换为你的 YouTube API 密钥
models: ['gpt-3.5-turbo'] // 支持的模型列表
});
获取视频信息
async function getVideoInfo(videoId) {
try {
const result = await mcp.query({
type: 'query',
query: {
video: {
id: videoId
}
}
});
return result;
} catch (error) {
console.error('获取视频信息失败:', error.message);
return null;
}
}
提取字幕
async function extractSubtitles(videoId, language = 'zh-CN') {
try {
const result = await mcp.query({
type: 'extract',
extractor: {
youtube: {
videoId,
language
}
}
});
return result;
} catch (error) {
console.error('提取字幕失败:', error.message);
return null;
}
}
高级用法
视频信息查询
const videoInfo = await getVideoInfo('dQw4w9WgXcQ');
console.log(videoInfo);
// 输出示例:
// {
// id: 'dQw4w9WgXcQ',
// title: '什么是什么?', // 示例标题
// channel: 'PewDiePro', // 示例频道名称
// views: '100万', // 示例观看次数
// likes: '10万' // 示例点赞数
// }
字幕提取与分析
const subtitles = await extractSubtitles('dQw4w9WgXcQ');
console.log(subtitles);
// 输出示例:
// [
// {
// timestamp: '00:01:23', // 示例时间戳
// text: '这是第一个字幕条。' // 示例字幕文本
// },
// ...
// ]
📚 详细文档
该服务器处理多种错误情况,包括:
- 无效的 API 密钥
- 视频或频道未找到
- 字幕不可用
- 网络问题
📄 许可证
本项目采用 MIT 许可协议。
👏 致谢
感谢以下项目和库的支持:
扫码联系在线客服