使用说明
项目简介
YouTube Watch Later MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,旨在为LLM客户端提供访问用户YouTube“稍后观看”播放列表的功能。它通过一个简单的工具,允许用户检索在指定天数内添加到“稍后观看”列表中的视频URL,从而方便LLM应用获取用户的YouTube观看记录上下文。
主要功能点
- 获取“稍后观看”视频URL: 提供一个名为 'get_watch_later_urls' 的工具,可以查询指定天数内添加到YouTube“稍后观看”列表的视频URL。
- OAuth2 认证: 使用 OAuth2 认证机制安全访问用户的YouTube数据,确保数据安全。
- 简单的工具接口: 工具接口设计简洁,仅返回视频URL列表,方便LLM客户端处理。
安装步骤
-
克隆仓库:
git clone https://github.com/rados10/youtube-watchlater-mcp.git cd youtube-watchlater-mcp -
安装依赖:
npm install -
构建项目:
npm run build
服务器配置
要将此MCP服务器添加到您的MCP客户端(例如 Claude Dev Extension 或 Claude Desktop App),您需要在MCP客户端的设置文件中配置此服务器。以下是配置示例,您需要根据实际情况修改 'command' 和 'env' 中的参数。
MCP 客户端配置 (JSON 格式):
{ "mcpServers": { "youtube-watchlater": { "command": "node", "args": ["/path/to/youtube-watchlater-mcp/build/index.js"], // 请替换为项目 build 目录下 index.js 文件的实际路径 "env": { "OAUTH_CLIENT_ID": "your_client_id", // 您的 Google Cloud Client ID,请替换为实际值 "OAUTH_CLIENT_SECRET": "your_client_secret", // 您的 Google Cloud Client Secret,请替换为实际值 "OAUTH_REFRESH_TOKEN": "your_refresh_token", // 您通过 get-refresh-token.js 脚本获取的 Refresh Token,请替换为实际值 "PLAYLIST_ID": "WL" // YouTube "稍后观看" 播放列表 ID,固定为 "WL",无需修改 } } } }
获取 OAuth 2.0 凭据和 Refresh Token 的步骤:
-
创建 Google Cloud 项目并启用 YouTube Data API v3:
- 访问 Google Cloud Console 并创建一个新的 Google Cloud 项目或选择现有项目。
- 在项目中启用 YouTube Data API v3。
-
创建 OAuth 2.0 客户端 ID:
- 转到 “凭据” -> “创建凭据” -> “OAuth 客户端 ID”。
- 选择 “Web 应用程序” 作为应用程序类型。
- 在 “已授权的重定向 URI” 中添加 'http://localhost:3000/oauth2callback'。
- 点击 “创建” 并复制您的 客户端 ID 和 客户端密钥。
-
获取 Refresh Token:
- 设置环境变量 'OAUTH_CLIENT_ID' 和 'OAUTH_CLIENT_SECRET' 为您在步骤 2 中获取的客户端 ID 和客户端密钥。
- 运行 'node get-refresh-token.js' 脚本:
请将 'your_client_id' 和 'your_client_secret' 替换为实际值。OAUTH_CLIENT_ID="your_client_id" OAUTH_CLIENT_SECRET="your_client_secret" node get-refresh-token.js - 脚本将打开您的默认浏览器并跳转到 Google 授权页面。
- 登录您的 Google 账户并授权应用程序访问您的 YouTube 数据。
- 授权成功后,您将在终端中看到 Refresh Token。复制此 Refresh Token,并将其填入 MCP 客户端配置的 'OAUTH_REFRESH_TOKEN' 字段。
基本使用方法
配置完成后,您的MCP客户端将能够连接到此YouTube Watch Later MCP服务器。您可以使用客户端提供的工具调用功能,例如在 Claude Dev Extension 中,您可以使用 '@youtube-watchlater.get_watch_later_urls' 工具来获取视频 URL 列表。
工具调用示例:
{ "tool_code": "@youtube-watchlater.get_watch_later_urls", "tool_arguments": { "daysBack": 7 } }
上述示例将调用 'get_watch_later_urls' 工具,并设置 'daysBack' 参数为 '7',表示获取过去 7 天内添加到“稍后观看”列表的视频。如果不提供 'daysBack' 参数,则默认获取过去 1 天内添加的视频。服务器将返回包含视频 URL 列表的 JSON 响应。
信息
分类
生产力应用