Skip to main content
Glama
Thib-ai

yt-playlist-organizer-mcp

by Thib-ai

yt-playlist-organizer-mcp

YouTube Data API v3を介してYouTubeプレイリストを整理するためのMCPサーバーです。

このサーバーが行うのはただひとつだけです。プレイリストとそのプレイリスト項目の作成・一覧表示・更新・削除です。動画、チャンネル、キャプション、コメント、登録チャンネル、その他のYouTube Data APIリソースには一切触れません。

公式の@modelcontextprotocol/sdkとYouTube Data API v3のRESTエンドポイントで構築されています(重いgoogleapis依存はありません)。

ツール

このサーバーが行うすべてです。他のツールはありません。

プレイリスト(/playlists

ツール

HTTP

クォータ

説明

playlists_list

GET

1

idchannelId、またはmine=trueでプレイリストを一覧表示します。

playlists_insert

POST

50

プレイリストを作成します(titleが必要です)。

playlists_update

PUT

50

プレイリストを変更します(id + titleが必要です)。

playlists_delete

DELETE

50

プレイリストを削除します(idが必要です)。

プレイリスト項目(/playlistItems

ツール

HTTP

クォータ

説明

playlistItems_list

GET

1

playlistIdまたはidで項目を一覧表示します。

playlistItems_insert

POST

50

playlistIdvideoIdを追加します。

playlistItems_update

PUT

50

プレイリスト項目を変更します(例:position)。

playlistItems_delete

DELETE

50

プレイリスト項目を削除します(idが必要です)。

さらに、どの認証情報が設定されているかを確認するためのauth_statusがあります。

Related MCP server: youtube-mcp

設定

このサーバーが呼び出すのは/playlistsエンドポイントと/playlistItemsエンドポイントのみです。その他のYouTube Data APIは対象外です。

サーバーは2つの環境変数を読み取ります:

変数

目的

YOUTUBE_API_KEY

Google APIキー。公開リソースの読み取り(playlists_listplaylistItems_list)を有効にします。

YOUTUBE_ACCESS_TOKEN

OAuth2アクセストークン。書き込みツールとmine=trueに必要です。

.env.exampleを参照してください。

  • 読み取り..._list)はAPIキー(またはアクセストークン)だけで動作します。

  • 書き込みinsert/update/delete)とmine=trueは、スコープyoutubeyoutube.force-ssl、またはyoutubepartnerを持つOAuth2アクセストークンが必要です

OAuth2認証情報を取得する

  1. Google Cloud Consoleでプロジェクトを作成します。

  2. YouTube Data API v3を有効にします。

  3. OAuth2クライアントID(デスクトップアプリ)を作成し、JSONをダウンロードします。

  4. 認証情報をアクセストークンと交換します(例:Pythonのgoogle-auth-oauthlibやローカルのOAuthフローサービスを使用)。YOUTUBE_ACCESS_TOKEN=<token>を設定します。

  5. (任意)読み取り専用でより簡単に使うには、APIキーを作成します。

Nix

NixOSに対応しています。flakeとshell.nixの両方を提供しています。

# Enter the dev shell (node + typescript toolchain)
nix develop

# or, non-flake:
nix-shell

ビルド

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

ローカルで実行

# Reads only (API key):
YOUTUBE_API_KEY=... node dist/index.js

# Reads + writes/mine (OAuth access token):
YOUTUBE_ACCESS_TOKEN=... node dist/index.js

opencodeへの組み込み

mcpの下の~/.config/opencode/opencode.jsoncに以下を追加します:

"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}"
    }
  }
}

<path-to-repo>をクローンした絶対パスに置き換えるか、npmでインストールして名前で実行します:

npm install -g .
# then use:  "command": ["yt-playlist-organizer-mcp"]

代わりにNixシェル経由で実行するには、同じキーを使用してcommandを変更します:

"command": ["nix", "develop", "<path-to-repo>", "--command", "node", "dist/index.js"],

注意事項

  • クォータコストは公式APIドキュメントに従い、ツールごとに記載しています。

  • partの値は、各リソースの有効なセットに対して検証されます。

  • playlists_list / playlistItems_listは、フィルターパラメータを正確に1つ必要とします。それ以外の場合は、入力検証で呼び出しが拒否されます。

  • 更新ツール(playlists_updateplaylistItems_update)は、最初に既存のリソースを読み取り、省略されたフィールド(例:descriptionprivacyStatuspositioncontentDetails)をクリアするのではなく保持します。したがって、更新のたびにクォータが追加で1回読み取りに消費されます。

  • startAt/endAt単位で指定し、APIに送信する前にISO 8601期間(PT1M30S)に変換されます。

開発

npm install
npm test         # vitest unit tests
npm run typecheck
npm run build

ライセンス

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