Skip to main content
Glama
Thib-ai

yt-playlist-organizer-mcp

by Thib-ai

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

playlists_list

GET

1

Playlists nach id, channelId oder mine=true auflisten.

playlists_insert

POST

50

Playlist erstellen (erfordert title).

playlists_update

PUT

50

Playlist ändern (erfordert id + title).

playlists_delete

DELETE

50

Playlist löschen (erfordert id).

PlaylistItems (/playlistItems)

Werkzeug

HTTP

Quota

Beschreibung

playlistItems_list

GET

1

Einträge nach playlistId oder id auflisten.

playlistItems_insert

POST

50

Ein videoId zu einer playlistId hinzufügen.

playlistItems_update

PUT

50

Einen Playlist-Eintrag ändern (z. B. dessen position).

playlistItems_delete

DELETE

50

Einen Playlist-Eintrag entfernen (erfordert id).

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

YOUTUBE_API_KEY

Google-API-Schlüssel. Ermöglicht öffentliche Lesezugriffe (playlists_list, playlistItems_list).

YOUTUBE_ACCESS_TOKEN

OAuth2-Zugriffstoken. Erforderlich für Schreiboperationen und mine=true.

Siehe .env.example.

  • Leseoperationen (..._list) funktionieren mit nur einem API-Schlüssel (oder einem Zugriffstoken).

  • Schreiboperationen (insert/update/delete) und mine=true erfordern ein OAuth2-Zugriffstoken mit den Bereichen youtube, youtube.force-ssl oder youtubepartner.

OAuth2-Anmeldedaten erhalten

  1. Erstelle ein Projekt in der Google Cloud Console.

  2. Aktiviere die YouTube Data API v3.

  3. Erstelle eine OAuth2-Client-ID (Desktop-App) und lade das JSON herunter.

  4. Tausche die Anmeldedaten gegen ein Zugriffstoken (z. B. über google-auth-oauthlib unter Python oder einen lokalen OAuth-Flow-Dienst). Setze YOUTUBE_ACCESS_TOKEN=<token>.

  5. (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-shell

Erstellen

npm install        # install node deps (zod + MCP SDK)
npm run build      # emits dist/
npm run typecheck  # tsc --noEmit

Lokal 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.js

Einbindung 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_list erfordern 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/endAt werden 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 build

Lizenz

MIT

Install Server
A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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…

View all MCP Connectors

Latest Blog Posts

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