YouTube Watch Later MCP Server
rados10/youtube-watchlater-mcp · 11 stars · JavaScript · MIT
MCP server MCP server for accessing YouTube Watch Later playlist
Install
The repo has no one-line install. Follow its README.
Files
YouTube Watch Later MCP Server
A Model Context Protocol (MCP) server that provides access to a custom YouTube playlist. The server exposes a simple tool to retrieve URLs of videos added to the specified playlist within a specified timeframe.
Features
- Get URLs of videos added to a custom playlist within a configurable number of days
- Simple interface that returns just the video URLs
- OAuth2 authentication for secure access to your YouTube data
Installation
Installing via Smithery
To install YouTube Watch Later for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install youtube-watchlater --client claude
Manual Installation
- Clone this repository:
git clone https://github.com/rados10/youtube-watchlater-mcp.git cd youtube-watchlater
- Install dependencies:
npm install
- Build the project:
npm run build
Setup
1. Create Google Cloud Project
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the YouTube Data API v3
- Go to Credentials → Create Credentials → OAuth 2.0 Client ID
- Set Application Type to "Web application"
- Add "http://localhost:3000/oauth2callback" to Authorized redirect URIs
- Copy your Client ID and Client Secret
2. Get Refresh Token
Run the provided script with your Google Cloud credentials:
OAUTH_CLIENT_ID="your_client_id" OAUTH_CLIENT_SECRET="your_client_secret" node get-refresh-token.js
The script will:
- Open your default browser to the Google authorization page
- Ask you to sign in and authorize the application
- Display your refresh token in the terminal
3. Configure MCP Settings
Add the server configuration to your MCP settings file:
For VSCode (Claude Dev Extension):
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
For 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"
}
}
}
}
Usage
The server provides a single tool get_watch_later_urls that accepts an optional daysBack parameter:
// Get videos added in the last day (default)
{ "daysBack": 1 }
// Get videos added in the last week
{ "daysBack": 7 }
The server will return an array of YouTube URLs for the matching videos:
[ "https://youtube.com/watch?v=video1", "https://youtube.com/watch?v=video2", ... ]
Token Refresh
The refresh token doesn't expire unless you explicitly revoke access. You only need to get a new one if you:
- Revoke the application's access in your Google Account settings
- Reset your Google account's security settings
- The token becomes invalid for any other reason
To get a new refresh token, simply run the get-refresh-token.js script again as described in the Setup section.
Development
The server is built with:
- TypeScript
- @modelcontextprotocol/sdk
- googleapis (YouTube Data API v3)
To modify the server:
- Make your changes in
src/index.ts - Run
npm run buildto compile - Restart the MCP server to apply changes
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 11
- License
- MIT
- Language
- JavaScript
- Last push
- 2025-03-23
- Forks
- 6
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k