youtube-playlist-mcp
Provides tools for reading YouTube playlists, listing recently added videos, and tracking new videos added since the last check.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@youtube-playlist-mcpWhat new videos have been added to my playlists since last check?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
youtube-playlist-mcp
A small personal MCP server that lets Claude/Cowork read your YouTube playlists — specifically "what got added recently" — so it can be wired into a daily scheduled task that picks a video and books a calendar slot.
It exposes three tools over MCP:
list_my_playlists— your playlists (id, title, item count)list_recent_playlist_items— most recently added videos in a playlistget_new_items_since_last_check— only videos added since the last time this was called (this is the one you'll use for the daily automation — it tracks its own checkpoint per playlist, so it naturally answers "did anything land in the playlist since this morning's last check?")
Your YouTube credentials never leave this server — Claude only ever sees the tool outputs (video titles/links/timestamps), never your OAuth tokens.
1. Google Cloud setup (one-time, ~5 min)
Go to https://console.cloud.google.com/ , create a project (or reuse one).
APIs & Services → Library → enable YouTube Data API v3.
APIs & Services → Credentials → Create Credentials → OAuth client ID.
Application type: Desktop app.
Note the Client ID and Client Secret.
If prompted to configure the OAuth consent screen, choose External, fill in the basics, and add yourself as a test user (no need to publish the app — test mode is fine for personal use, tokens just need re-consent every ~7 days unless you request production access, which for a single-user personal tool isn't necessary — see note below).
Note on token expiry: apps in "Testing" mode get refresh tokens that expire after 7 days. For a server that should run indefinitely, either (a) publish the OAuth consent screen, or (b) just re-run
get_refresh_token.jsevery so often. For (a): Google Cloud Console → your project → Google Auth Platform → Branding requires an Application home page and privacy policy link before the Publish app button (under Audience) becomes clickable — a one-line static page for each is enough, they don't need to be fancy. Publishing did not trigger a verification review for a single-user app requesting onlyyoutube.readonlyin testing so far — it went straight to "In production." After publishing, re-runget_refresh_token.jsonce more to mint a fresh token under the new status (a token issued while still in Testing may still carry the old expiry).
Related MCP server: YouTube MCP Server
2. Get a refresh token (one-time, run on YOUR machine)
Run this on a computer where you can open a browser and sign into your own Google account — not inside a shared/cloud sandbox.
npm install
YT_CLIENT_ID=xxx YT_CLIENT_SECRET=yyy npm run get-tokenA browser tab opens, you approve read-only YouTube access, and the refresh token prints to the terminal. Copy it.
3. Configure
cp .env.example .envFill in YT_CLIENT_ID, YT_CLIENT_SECRET, YT_REFRESH_TOKEN (from
above), make up a long random MCP_AUTH_TOKEN, and set
DEFAULT_PLAYLIST_IDS to the playlist ID(s) you want checked daily
(the part after list= in the playlist's URL). Comma-separate multiple.
4. Run it
Locally:
npm install
npm startOr on your homelab with Docker:
docker compose up -d --buildEither way it listens on PORT (default 8787) at POST /mcp, and
requires Authorization: Bearer <MCP_AUTH_TOKEN> on every request.
It needs a URL Claude can reach — if you run it on your Proxmox homelab, that means either exposing it through a reverse proxy with a real domain + HTTPS (e.g. Caddy/nginx + your existing DNS, or a Cloudflare Tunnel) or hosting it on a small cloud box instead. A bare LAN IP won't be reachable from Claude's cloud side.
5. Add it to Claude as a custom connector
In Claude: Customize → Connectors → Add (this used to live under Settings → Connectors — Anthropic moved it).
Name: anything, e.g.
YouTube PlaylistsRemote MCP server URL:
https://your-domain/mcp
On the next screen, Claude probes the URL and — because it gets a 401
without credentials — will default Authentication to "Always
required" (OAuth), tagged "Detected". This server doesn't speak OAuth,
so switch that to None, then under Request headers click
Add header, pick authorization from the dropdown, and set the
value to Bearer <the MCP_AUTH_TOKEN you chose> (include the word
Bearer). Save, then click Connect on the connector's page — it
should show your three tools with no further sign-in step.
Once added, the tools are available in your sessions (and to scheduled
tasks / routines you create via /schedule or claude.ai/code/routines).
6. Wire up the daily automation
Create a scheduled routine (via /schedule in Claude Code, or
claude.ai/code/routines) — not a calendar recurrence, this needs to run
logic each morning — that on a weekday-morning cron:
Calls
get_new_items_since_last_checkfor your playlist(s), with the YouTube Playlists and Google Calendar connectors attached.If nothing new comes back — stops, does nothing.
Important: calling
get_new_items_since_last_checkmarks every returned video as "seen" immediately and permanently — there's no way to re-fetch or defer any of them later. If several videos landed since the last check (e.g. over a weekend), the prompt needs to schedule all of them in that same run, not just the newest — e.g. process them oldest-first, finding each one the next free evening slot (today, then tomorrow, and so on) so nothing gets silently dropped.For each video, check Google Calendar for a free slot (e.g. 6-8pm), and create an event titled after the video with its URL in the description. Consider creating a dedicated secondary calendar (e.g. "Evening Videos") with its own color, via Calendar's own UI — the Google Calendar MCP connector can create/color events but can't create a new calendar itself, so that part's a one-time manual step.
Say the word once this server is deployed and reachable, and the scheduled task prompt can be written and created.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents. No signup.
AI YouTube analyst in Claude for creators: audit, fix, decide what to make next, grow subs.
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude to access and manage YouTube channel data through the YouTube Data API v3 and YouTube Analytics API. Provides tools for reading analytics, fetching video metadata, searching uploads, and updating video SEO directly from Claude.91MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude to interact with YouTube Data API for searching videos, channels, and playlists, and retrieving details and playlists.47-
- FlicenseNot gradedqualityDmaintenanceEnables Claude to search YouTube for artists and manage playlists on your YouTube account.1-
- AlicenseAqualityBmaintenanceEnables conversational YouTube playlist management via Claude, allowing creation, pruning, cleanup, and deletion of playlists through the YouTube Data API v3.5222MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RegatteVarshithReddy/youtube-playlist-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server