Yt Playlist Organizer
FreeNot checkedAn MCP server for organizing YouTube playlists via the YouTube Data API v3, enabling playlist and playlist item creation, listing, updating, and deletion throug
About
An MCP server for organizing YouTube playlists via the YouTube Data API v3, enabling playlist and playlist item creation, listing, updating, and deletion through natural language.
README
An MCP server for organizing YouTube playlists via the YouTube Data API v3.
It does exactly one thing and nothing more: create, list, update, and delete playlists and their playlist items. It does not touch videos, channels, captions, comments, subscriptions, or any other YouTube Data API resource.
Built with the official @modelcontextprotocol/sdk
and the YouTube Data API v3 REST endpoints (no heavy googleapis dependency).
Tools
Everything this server does. There are no other tools.
Playlists (/playlists)
| Tool | HTTP | Quota | Description |
|---|---|---|---|
playlists_list |
GET | 1 | List playlists by id, channelId, or mine=true. |
playlists_insert |
POST | 50 | Create a playlist (requires title). |
playlists_update |
PUT | 50 | Modify a playlist (requires id + title). |
playlists_delete |
DELETE | 50 | Delete a playlist (requires id). |
PlaylistItems (/playlistItems)
| Tool | HTTP | Quota | Description |
|---|---|---|---|
playlistItems_list |
GET | 1 | List items by playlistId or id. |
playlistItems_insert |
POST | 50 | Add a videoId to a playlistId. |
playlistItems_update |
PUT | 50 | Modify a playlist item (e.g. its position). |
playlistItems_delete |
DELETE | 50 | Remove a playlist item (requires id). |
Plus auth_status to check which credentials are configured.
Configuration
This server only ever calls the /playlists and /playlistItems endpoints.
The rest of the YouTube Data API is out of scope.
The server reads two environment variables:
| Variable | Purpose |
|---|---|
YOUTUBE_API_KEY |
Google API key. Enables public reads (playlists_list, playlistItems_list). |
YOUTUBE_ACCESS_TOKEN |
OAuth2 access token. Required for write tools and mine=true. |
See .env.example.
- Reads (
..._list) work with just an API key (or an access token). - Writes (
insert/update/delete) andmine=truerequire an OAuth2 access token with the scopesyoutube,youtube.force-ssl, oryoutubepartner.
Getting OAuth2 credentials
- Create a project in Google Cloud Console.
- Enable the YouTube Data API v3.
- Create an OAuth2 client ID (Desktop app) and download the JSON.
- Exchange credentials for an access token (e.g. via
google-auth-oauthlibon Python, or a local OAuth flow service). SetYOUTUBE_ACCESS_TOKEN=<token>. - (Optional) Create an API key for simpler read-only use.
Nix
This is NixOS-friendly. Both a flake and a shell.nix are provided.
# Enter the dev shell (node + typescript toolchain)
nix develop
# or, non-flake:
nix-shell
Build
npm install # install node deps (zod + MCP SDK)
npm run build # emits dist/
npm run typecheck # tsc --noEmit
Run locally
# Reads only (API key):
YOUTUBE_API_KEY=... node dist/index.js
# Reads + writes/mine (OAuth access token):
YOUTUBE_ACCESS_TOKEN=... node dist/index.js
Wiring into opencode
Add the following to ~/.config/opencode/opencode.jsonc under mcp:
"mcp": {
"yt-playlist-organizer-mcp": {
"type": "local",
"command": ["node", "<path-to-repo>/dist/index.js"],
"enabled": true,
"environment": {
"YOUTUBE_API_KEY": "{file:~/.secrets/yt-api-key}",
"YOUTUBE_ACCESS_TOKEN": "{file:~/.secrets/yt-access-token}"
}
}
}
Replace <path-to-repo> with the absolute path where you cloned it, or install
it via npm to run it by name:
npm install -g .
# then use: "command": ["yt-playlist-organizer-mcp"]
To run it through the Nix shell instead, use the same key but change command:
"command": ["nix", "develop", "<path-to-repo>", "--command", "node", "dist/index.js"],
Notes
- Quota costs are per the official API docs and documented per tool.
partvalues are validated against the valid sets for each resource.playlists_list/playlistItems_listrequire exactly one filter parameter; otherwise input validation rejects the call.- Update tools (
playlists_update,playlistItems_update) read the existing resource first and preserve any omitted fields (e.g.description,privacyStatus,position,contentDetails), rather than clearing them. Each update therefore costs an extra read against your quota. startAt/endAtare provided in seconds and converted to ISO 8601 durations (PT1M30S) before being sent to the API.
Development
npm install
npm test # vitest unit tests
npm run typecheck
npm run build
License
MIT
Install Yt Playlist Organizer in Claude Desktop, Claude Code & Cursor
unyly install yt-playlist-organizer-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add yt-playlist-organizer-mcp -- npx -y github:Thib-ai/yt-playlist-organizer-mcpStep-by-step: how to install Yt Playlist Organizer
FAQ
Is Yt Playlist Organizer MCP free?
Yes, Yt Playlist Organizer MCP is free — one-click install via Unyly at no cost.
Does Yt Playlist Organizer need an API key?
No, Yt Playlist Organizer runs without API keys or environment variables.
Is Yt Playlist Organizer hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Yt Playlist Organizer in Claude Desktop, Claude Code or Cursor?
Open Yt Playlist Organizer on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
ARA
Generate images, video and audio from any AI agent — one connector.
by ARAOmni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
by buildwithtazaYouTube
Transcripts, channel stats, search
by YouTubeEverArt
AI image generation using various models.
by modelcontextprotocolgpu-bridge/mcp-server
Unified GPU inference API with 30 AI services (LLM, image gen, video, TTS, whisper, embeddings, reranking, OCR) as MCP tools. Pay-per-use via x402 USDC or API k
by gpu-bridgehamflx/imagen3-mcp
A powerful image generation tool using Google's Imagen 3.0 API through MCP. Generate high-quality images from text prompts with advanced photography, artistic,
by hamflxmerterbak/Grok-MCP
MCP server for xAI's [Grok API](https://docs.x.ai/docs/overview) with agentic tool calling, image generation, vision, and file support.
by merterbakSureScaleAI/openai-gpt-image-mcp
OpenAI GPT image generation/editing MCP server.
by SureScaleAIYangLiangwei/PersonalizationMCP
Comprehensive personal data aggregation MCP server with Steam, YouTube, Bilibili, Spotify, Reddit and other platforms integrations. Features OAuth2 authenticati
by YangLiangweiAceDataCloud/MCPFlux
Flux AI image generation and editing (Black Forest Labs) via Ace Data Cloud API.
by AceDataCloudCompare Yt Playlist Organizer with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All media MCPs
