返回市场
YouTube稍后观看-MCP

YouTube稍后观看-MCP

作者:rados108 星标更新:2025-03-23

项目介绍

YouTube Watch Later MCP Server

smithery 徽章

这是一个提供访问自定义YouTube播放列表的Model Context Protocol (MCP)服务器。该服务器公开了一个简单的工具,用于检索指定时间段内添加到指定播放列表中的视频URL。

特性

  • 获取在可配置天数内添加到自定义播放列表中的视频URL
  • 简单的接口,仅返回视频URL
  • 使用OAuth2认证安全访问您的YouTube数据

安装

通过Smithery安装

要通过Smithery自动安装YouTube Watch Later for Claude Desktop:

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项目

  1. 转到Google Cloud控制台
  2. 创建一个新的项目或选择一个现有项目
  3. 启用YouTube Data API v3
  4. 转到凭证 → 创建凭证 → OAuth 2.0客户端ID
  5. 将应用程序类型设置为“网络应用”
  6. 在授权重定向URI中添加"http://localhost:3000/oauth2callback"
  7. 复制您的客户端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桌面应用: ~/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,它接受一个可选的daysBack参数:

// 获取最近一天添加的视频(默认)
{ "daysBack": 1 }

// 获取最近一周添加的视频
{ "daysBack": 7 }

服务器将返回匹配视频的YouTube URL数组:

[
  "https://youtube.com/watch?v=video1",
  "https://youtube.com/watch?v=video2",
  ...
]

刷新令牌

除非您明确撤销访问权限,否则刷新令牌不会过期。如果您需要获取新的刷新令牌,只有在以下情况下:

  • 您在Google账户设置中撤销了应用程序的访问权限
  • 您重置了Google账户的安全设置
  • 令牌因任何其他原因失效

要获取新的刷新令牌,只需再次运行Setup部分描述的get-refresh-token.js脚本。

开发

服务器构建使用:

  • TypeScript
  • @modelcontextprotocol/sdk
  • googleapis (YouTube Data API v3)

要修改服务器:

  1. src/index.ts中进行更改
  2. 运行npm run build进行编译
  3. 重启MCP服务器以应用更改