返回 MCP 目录
public公开dns本地运行

youtube-watchlater-mcp

一个提供自定义YouTube播放列表访问权限的MCP服务器,可获取指定时间范围内添加的视频URL。

article

README

🚀 YouTube 观看稍后再看 MCP 服务器

本项目是一个基于 Model Context Protocol (MCP) 的服务器,旨在为用户提供对自定义 YouTube 播放列表的便捷访问。仅需简单操作,就能获取指定时间段内添加到播放列表中的视频 URL,为用户节省时间和精力。

smithery badge

✨ 主要特性

  • 可获取指定天数内添加到自定义播放列表中的视频 URL,精准满足用户对特定时段视频的需求。
  • 提供简洁接口,仅返回视频 URL,避免多余信息干扰,提高使用效率。
  • 采用 OAuth2 进行身份验证,保障对 YouTube 数据的安全访问,让用户使用更安心。

📦 安装指南

通过 Smithery 安装

若想通过 Smithery 自动安装 YouTube 观看稍后再看插件,可执行以下命令:

npx -y @smithery/cli install youtube-watchlater --client claude

手动安装

  1. 克隆此仓库:
git clone https://github.com/rados10/youtube-watchlater-mcp.git
cd youtube-watchlater
  1. 安装依赖项:
npm install
  1. 构建项目:
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 播放列表数据的获取。

修改服务器

若需对服务器进行修改,可按以下步骤操作:

  1. 打开 src/index.ts 文件。
  2. 根据需要修改代码。
  3. 重新构建项目:
npm run build

提交更改

若要将更改提交到仓库,请执行以下步骤:

  1. 添加更改:
git add .
  1. 提交更改:
git commit -m "添加新功能"
  1. 推送到 GitHub:
git push origin main

🤝 贡献

欢迎为这个项目做出贡献!请按照以下步骤进行:

  1. 叉出仓库到您的账户。
  2. 创建新的功能分支。
  3. 提交更改并创建拉取请求。

📄 许可证

本项目受 MIT License 保护。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端