yt-playlist-organizer-mcp
yt-playlist-organizer-mcp
Ein MCP-Server zum Organisieren von YouTube-Playlists über die YouTube Data API v3.
Er tut genau eine Sache und sonst nichts: Playlists und ihre Playlist-Einträge erstellen, auflisten, aktualisieren und löschen. Er berührt keine Videos, Kanäle, Untertitel, Kommentare, Abonnements oder andere Ressourcen der YouTube Data API.
Erstellt mit dem offiziellen @modelcontextprotocol/sdk
und den REST-Endpunkten der YouTube Data API v3 (ohne die schwergewichtige googleapis-Abhängigkeit).
Werkzeuge
Alles, was dieser Server tut. Es gibt keine weiteren Werkzeuge.
Playlists (/playlists)
Werkzeug | HTTP | Quota | Beschreibung |
| GET | 1 | Playlists nach |
| POST | 50 | Playlist erstellen (erfordert |
| PUT | 50 | Playlist ändern (erfordert |
| DELETE | 50 | Playlist löschen (erfordert |
PlaylistItems (/playlistItems)
Werkzeug | HTTP | Quota | Beschreibung |
| GET | 1 | Einträge nach |
| POST | 50 | Ein |
| PUT | 50 | Einen Playlist-Eintrag ändern (z. B. dessen |
| DELETE | 50 | Einen Playlist-Eintrag entfernen (erfordert |
Außerdem gibt es auth_status, um zu prüfen, welche Anmeldedaten konfiguriert sind.
Related MCP server: youtube-mcp
Konfiguration
Dieser Server ruft nur die /playlists- und /playlistItems-Endpunkte auf.
Der Rest der YouTube Data API ist nicht abgedeckt.
Der Server liest zwei Umgebungsvariablen:
Variable | Zweck |
| Google-API-Schlüssel. Ermöglicht öffentliche Lesezugriffe ( |
| OAuth2-Zugriffstoken. Erforderlich für Schreiboperationen und |
Siehe .env.example.
Leseoperationen (
..._list) funktionieren mit nur einem API-Schlüssel (oder einem Zugriffstoken).Schreiboperationen (
insert/update/delete) undmine=trueerfordern ein OAuth2-Zugriffstoken mit den Bereichenyoutube,youtube.force-ssloderyoutubepartner.
OAuth2-Anmeldedaten erhalten
Erstelle ein Projekt in der Google Cloud Console.
Aktiviere die YouTube Data API v3.
Erstelle eine OAuth2-Client-ID (Desktop-App) und lade das JSON herunter.
Tausche die Anmeldedaten gegen ein Zugriffstoken (z. B. über
google-auth-oauthlibunter Python oder einen lokalen OAuth-Flow-Dienst). SetzeYOUTUBE_ACCESS_TOKEN=<token>.(Optional) Erstelle einen API-Schlüssel für die einfachere Nur-Lese-Nutzung.
Nix
Das ist NixOS-freundlich. Es werden sowohl ein Flake als auch eine shell.nix bereitgestellt.
# Enter the dev shell (node + typescript toolchain)
nix develop
# or, non-flake:
nix-shellErstellen
npm install # install node deps (zod + MCP SDK)
npm run build # emits dist/
npm run typecheck # tsc --noEmitLokal ausführen
# Reads only (API key):
YOUTUBE_API_KEY=... node dist/index.js
# Reads + writes/mine (OAuth access token):
YOUTUBE_ACCESS_TOKEN=... node dist/index.jsEinbindung in opencode
Füge unter mcp Folgendes zu ~/.config/opencode/opencode.jsonc hinzu:
"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}"
}
}
}Ersetze <path-to-repo> durch den absoluten Pfad, in den du das Repository geklont hast, oder installiere es über npm, um es unter seinem Namen auszuführen:
npm install -g .
# then use: "command": ["yt-playlist-organizer-mcp"]Um es stattdessen über die Nix-Shell auszuführen, verwende denselben Schlüssel, ändere aber command:
"command": ["nix", "develop", "<path-to-repo>", "--command", "node", "dist/index.js"],Hinweise
Die Quotenkosten entsprechen der offiziellen API-Dokumentation und sind pro Werkzeug dokumentiert.
part-Werte werden gegen die zulässigen Werte für jede Ressource validiert.playlists_list/playlistItems_listerfordern genau einen Filterparameter; andernfalls lehnt die Eingabevalidierung den Aufruf ab.Die Aktualisierungswerkzeuge (
playlists_update,playlistItems_update) lesen zuerst die vorhandene Ressource und bewahren alle ausgelassenen Felder (z. B.description,privacyStatus,position,contentDetails), anstatt sie zu leeren. Jede Aktualisierung kostet daher einen zusätzlichen Lesezugriff auf dein Kontingent.startAt/endAtwerden in Sekunden angegeben und in ISO-8601-Dauern (PT1M30S) umgewandelt, bevor sie an die API gesendet werden.
Entwicklung
npm install
npm test # vitest unit tests
npm run typecheck
npm run buildLizenz
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