article
README
🚀 YouTube 观看稍后再看 MCP 服务器
本项目是一个基于 Model Context Protocol (MCP) 的服务器,旨在为用户提供对自定义 YouTube 播放列表的便捷访问。仅需简单操作,就能获取指定时间段内添加到播放列表中的视频 URL,为用户节省时间和精力。
✨ 主要特性
- 可获取指定天数内添加到自定义播放列表中的视频 URL,精准满足用户对特定时段视频的需求。
- 提供简洁接口,仅返回视频 URL,避免多余信息干扰,提高使用效率。
- 采用 OAuth2 进行身份验证,保障对 YouTube 数据的安全访问,让用户使用更安心。
📦 安装指南
通过 Smithery 安装
若想通过 Smithery 自动安装 YouTube 观看稍后再看插件,可执行以下命令:
npx -y @smithery/cli install youtube-watchlater --client claude
手动安装
- 克隆此仓库:
git clone https://github.com/rados10/youtube-watchlater-mcp.git
cd youtube-watchlater
- 安装依赖项:
npm install
- 构建项目:
npm run build
📚 详细文档
1. 创建 Google Cloud 项目
- 访问 Google Cloud Console。
- 创建新项目或选择现有项目。
- 启用 YouTube Data API v3。
- 转到凭证 → 创建凭证 → OAuth 2.0 客户端 ID。
- 设置应用程序类型为“Web 应用程序”。
- 将“http://localhost:3000/oauth2callback”添加到授权重定向 URI 中。
- 复制您的客户端 ID 和客户端密码。
2. 获取刷新令牌
运行提供的脚本,并使用您的 Google Cloud 凭据:
OAUTH_CLIENT_ID="your_client_id" OAUTH_CLIENT_SECRET="your_client_secret" node get-refresh-token.js
该脚本将执行以下操作:
- 打开默认浏览器到 Google 授权页面。
- 提示您登录并授权应用程序。
- 在终端中显示您的刷新令牌。
3. 配置 MCP 设置
将服务器配置添加到您的 MCP 设置文件中:
- 对于 VSCode (Claude Dev 插件):
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - 对于 Claude Desktop App:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"youtube-watchlater": {
"command": "node",
"args": ["/path/to/youtube-watchlater/build/index.js"],
"env": {
"OAUTH_CLIENT_ID": "your_client_id",
"OAUTH_CLIENT_SECRET": "your_client_secret",
"OAUTH_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}
💻 使用示例
基础用法
服务器提供了一个简单的工具 get_watch_later_urls,接受一个可选的天数参数。以下是一些示例:
# 获取最近一天添加的所有视频
get_watch_later_urls --days=1
# 获取过去七天添加的所有视频
get_watch_later_urls --days=7
# 获取过去30天添加的所有视频
get_watch_later_urls --days=30
返回结果
{
"videos": [
{
"url": "https://www.youtube.com/watch?v=video123",
"title": "视频标题 1",
"duration": "3:45"
},
{
"url": "https://www.youtube.com/watch?v=video456",
"title": "视频标题 2",
"duration": "5:20"
}
]
}
🔧 技术细节
此工具使用以下技术栈构建:
- TypeScript:用于编写代码,提供类型检查,增强代码的可维护性和可靠性。
- Node.js:作为运行时环境,具备高效的事件驱动和非阻塞 I/O 模型,确保服务器的高性能。
- Oauth2:用于身份验证,保障与 YouTube 数据 API 交互的安全性。
- Google API:用于与 YouTube 数据 API 进行交互,实现对 YouTube 播放列表数据的获取。
修改服务器
若需对服务器进行修改,可按以下步骤操作:
- 打开
src/index.ts文件。 - 根据需要修改代码。
- 重新构建项目:
npm run build
提交更改
若要将更改提交到仓库,请执行以下步骤:
- 添加更改:
git add .
- 提交更改:
git commit -m "添加新功能"
- 推送到 GitHub:
git push origin main
🤝 贡献
欢迎为这个项目做出贡献!请按照以下步骤进行:
- 叉出仓库到您的账户。
- 创建新的功能分支。
- 提交更改并创建拉取请求。
📄 许可证
本项目受 MIT License 保护。
微信扫一扫