yt-playlist-organizer-mcp
yt-playlist-organizer-mcp
Un servidor MCP para organizar listas de reproducción de YouTube mediante la YouTube Data API v3.
Hace exactamente una cosa y nada más: crear, listar, actualizar y eliminar listas de reproducción y sus elementos. No toca videos, canales, subtítulos, comentarios, suscripciones ni ningún otro recurso de la YouTube Data API.
Construido con el @modelcontextprotocol/sdk
oficial y los endpoints REST de la YouTube Data API v3 (sin la pesada
dependencia de googleapis).
Herramientas
Todo lo que hace este servidor. No hay otras herramientas.
Listas de reproducción (/playlists)
Herramienta | HTTP | Cuota | Descripción |
| GET | 1 | Lista listas de reproducción por |
| POST | 50 | Crea una lista de reproducción (requiere |
| PUT | 50 | Modifica una lista de reproducción (requiere |
| DELETE | 50 | Elimina una lista de reproducción (requiere |
Elementos de lista de reproducción (/playlistItems)
Herramienta | HTTP | Cuota | Descripción |
| GET | 1 | Lista elementos por |
| POST | 50 | Añade un |
| PUT | 50 | Modifica un elemento de lista de reproducción (p. ej. su |
| DELETE | 50 | Elimina un elemento de lista de reproducción (requiere |
Además, auth_status para comprobar qué credenciales están configuradas.
Related MCP server: youtube-mcp
Configuración
Este servidor solo llama a los endpoints /playlists y /playlistItems.
El resto de la YouTube Data API queda fuera del alcance.
El servidor lee dos variables de entorno:
Variable | Propósito |
| Clave de API de Google. Permite lecturas públicas ( |
| Token de acceso OAuth2. Requerido para herramientas de escritura y |
Consulta .env.example.
Lecturas (
..._list) funcionan solo con una clave de API (o un token de acceso).Escrituras (
insert/update/delete) ymine=truerequieren un token de acceso OAuth2 con los ámbitosyoutube,youtube.force-ssloyoutubepartner.
Cómo obtener credenciales OAuth2
Crea un proyecto en Google Cloud Console.
Habilita la YouTube Data API v3.
Crea un ID de cliente OAuth2 (aplicación de escritorio) y descarga el JSON.
Intercambia las credenciales por un token de acceso (p. ej. mediante
google-auth-oauthliben Python, o un servicio local de flujo OAuth). EstableceYOUTUBE_ACCESS_TOKEN=<token>.(Opcional) Crea una clave de API para un uso más sencillo de solo lectura.
Nix
Esto es compatible con NixOS. Se proporcionan tanto un flake como un shell.nix.
# Enter the dev shell (node + typescript toolchain)
nix develop
# or, non-flake:
nix-shellCompilar
npm install # install node deps (zod + MCP SDK)
npm run build # emits dist/
npm run typecheck # tsc --noEmitEjecutar localmente
# Reads only (API key):
YOUTUBE_API_KEY=... node dist/index.js
# Reads + writes/mine (OAuth access token):
YOUTUBE_ACCESS_TOKEN=... node dist/index.jsIntegración con opencode
Añade lo siguiente a ~/.config/opencode/opencode.jsonc bajo 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}"
}
}
}Reemplaza <path-to-repo> con la ruta absoluta donde lo clonaste, o instálalo
mediante npm para ejecutarlo por nombre:
npm install -g .
# then use: "command": ["yt-playlist-organizer-mcp"]Para ejecutarlo a través del shell de Nix en su lugar, usa la misma clave pero
cambia command:
"command": ["nix", "develop", "<path-to-repo>", "--command", "node", "dist/index.js"],Notas
Los costes de cuota se basan en la documentación oficial de la API y se documentan por herramienta.
Los valores de
partse validan contra los conjuntos válidos para cada recurso.playlists_list/playlistItems_listrequieren exactamente un parámetro de filtro; de lo contrario, la validación de entrada rechaza la llamada.Las herramientas de actualización (
playlists_update,playlistItems_update) leen primero el recurso existente y conservan cualquier campo omitido (p. ej.description,privacyStatus,position,contentDetails), en lugar de borrarlos. Por lo tanto, cada actualización cuesta una lectura adicional de tu cuota.startAt/endAtse proporcionan en segundos y se convierten a duraciones ISO 8601 (PT1M30S) antes de enviarse a la API.
Desarrollo
npm install
npm test # vitest unit tests
npm run typecheck
npm run buildLicencia
MIT
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 Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with the YouTube Data API, allowing users to search videos, get video and channel details, analyze trends, and fetch video transcripts.
- FlicenseBqualityCmaintenanceMCP server for YouTube Data API v3 enabling video search, channel lookup, trending content, comments, and playlist management.11
- FlicenseNot gradedqualityBmaintenanceAn MCP server for managing YouTube Music playlists via Claude. Add and remove songs, create playlists, and ask Claude to suggest music — all through conversation.
- FlicenseNot gradedqualityCmaintenanceA simple MCP server to manage YouTube playlists built in TypeScript.
Related MCP Connectors
YouTube MCP — wraps the YouTube Data API v3 (BYO API key)
MCP server for generating rough-draft project plans from natural-language prompts.
A MCP server built for developers enabling Git based project management with project and personal…
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/Thib-ai/yt-playlist-organizer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server