YouTube播放列表管理服务

一个基于Model Context Protocol (MCP)的服务器,提供对自定义YouTube播放列表的访问,允许用户获取指定时间段内添加到播放列表的视频URL。

  • by rados10
  • JavaScript
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 rados10/youtube-watchlater-mcp

使用说明

YouTube观看后期MCP服务器

一种模型上下文协议(MCP)服务器,提供对自定义YouTube播放列表的访问。服务器提供了一个简单的工具,用于检索在指定时间范围内添加到指定播放列表中的视频的URL。

特性

  • 在可配置的天数内获取添加到自定义播放列表的视频URL
  • 只返回视频URL的简单界面
  • OAuth2身份验证,用于安全访问您的YouTube数据

安装

通过Smithery安装

通过以下方式自动为Claude Desktop安装YouTube Watch Later 史密瑟里:

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.创建谷歌云项目

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用YouTube数据API v3
  4. 转到凭据→ 创建凭据→ OAuth 2.0客户端ID
  5. 将应用程序类型设置为“Web应用程序”
  6. 添加“http://localhost:3000/oauth2callback“到授权重定向URI
  7. 复制您的客户端ID和客户端密码

2.获取刷新令牌

使用您的Google Cloud凭据运行提供的脚本:

OAUTH_CLIENT_ID="your_client_id" OAUTH_CLIENT_SECRET="your_client_secret" node get-refresh-token.js

脚本将:

  • 打开默认浏览器进入谷歌授权页面
  • 请您登录并授权该应用程序
  • 在终端中显示您的刷新令牌

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 参数:

// Get videos added in the last day (default)
{ "daysBack": 1 }

// Get videos added in the last week
{ "daysBack": 7 }

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

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

令牌刷新

除非您明确撤销访问权限,否则刷新令牌不会过期。你只需要得到一个新的,如果你:

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

要获取新的刷新令牌,只需按照设置部分中的描述再次运行get_fresh-token.js脚本。

发展

服务器由以下组件构建:

  • TypeScript
  • @模型上下文协议/sdk
  • googleapi(YouTube数据API v3)

要修改服务器,请执行以下操作:

  1. 在中进行更改 src/index.ts
  2. 跑 npm run build 编写
  3. 重新启动MCP服务器以应用更改