mcpField
Y
Youtube Shorts Agent

Youtube Shorts Agent

ローカル
github.comAI・エージェント12 週間前に更新

Youtube Shorts Agent について

Youtube Shorts Agent は、YouTube Data API を通じて YouTube Shorts の準備、検証、アップロードを行うエージェント向けコマンドラインツール兼 MCP サーバーです。dry-run、OAuth の準備状況確認、構造化されたアップロード結果を備えています。

主な機能

  1. 01dry-run による Shorts アップロード検証
  2. 02OAuth の準備状況と接続確認
  3. 03PKCE 認可 URL の生成
  4. 04トークンとメディアのプライバシー監査
  5. 05最近の動画一覧
  6. 06合成メディアのメタデータ対応

活用シーン

  1. 01アップロード前の OAuth 設定確認
  2. 02公開せずに Shorts のメタデータを検証
  3. 03YouTube Data API 経由で Short をアップロード
  4. 04チャンネルの最近の動画を確認

MCP 対応

既定では stdio で MCP サーバーとして動作し、ステートレスな Streamable HTTP も利用できます。接続状態、プライバシー監査、OAuth 認可、Shorts のアップロード、最近の動画一覧を MCP ツールとして提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"youtube-shorts-agent": {
"command": "npx",
"args": [
"-y",
"youtube-shorts-agent"
],
"env": {
"YOUTUBE_DRY_RUN": "<YOUTUBE_DRY_RUN>",
"YOUTUBE_CLIENT_ID": "<YOUTUBE_CLIENT_ID>",
"YOUTUBE_CLIENT_SECRET": "<YOUTUBE_CLIENT_SECRET>"
}
}
}
}
起動コマンドnpx -y youtube-shorts-agent
設定が必要な環境変数
YOUTUBE_DRY_RUNSet to false only when the agent should perform live YouTube upload operations. Defaults to dry-run behavior.
YOUTUBE_CLIENT_IDGoogle OAuth client ID. Optional until OAuth or live upload flows are used.
YOUTUBE_CLIENT_SECRETシークレットGoogle OAuth client secret. Keep local and do not expose it to agents.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmyoutube-shorts-agent0.1.6

ツール

6

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
clientstringいいえ
response_formatenumいいえjson | markdown

詳細

YouTube Shorts エージェント

YouTube Shorts エージェント
YouTube Data API 用のエージェントファーストな YouTube Shorts アップローダーです。
ドライランによる安全性、OAuth 準備状況チェックを備え、Codex / Claude / Cursor / Hermes 向けに MCP 対応しています。

npm バージョン npm ダウンロード数 MIT ライセンス MCP 向けに構築

GitHub スター数 CI ステータス Delx エージェントスタックの一部 カテゴリ

⭐ このエージェントファーストなツールがワークフローに役立ったら、ぜひリポジトリにスターを付けてください。 スターが増えると、ほかの開発者がこのツールを見つけやすくなり、Delx がオープンなインフラの提供を続ける助けになります。
🧱 Delx エージェントスタックの一部 — body、reach、coordination にわたる 15 個のオープンソース MCP サーバーです。


YouTube Data API 用のエージェントファーストな YouTube Shorts アップローダーです。ドライランによる安全性、OAuth 準備状況チェック、構造化出力を備え、Codex、Claude、Cursor、Hermes、OpenClaw、および予測可能なアップロードワークフローを必要とするあらゆる MCP クライアント向けに設計されています。

YouTube Studio の UI に触れずに、公式 API を通じて Shorts の準備、検証、アップロードをエージェントが行う必要がある場合にお使いください。

エージェントが利用できる機能

  • インストールと実行時のガイダンスを提供する youtube_agent_manifest
  • アップロード前に使用する youtube_connection_status
  • ローカルのトークンとメディアの境界を確認する youtube_privacy_audit
  • ローカル PKCE セッションストレージを使用する youtube_oauth_authorize_url
  • containsSyntheticMedia に対応した youtube_upload_short
  • アップロード後の簡易確認に使う youtube_list_recent_videos

インストール

npm install -g youtube-shorts-agent

または、直接実行します。

npm exec --yes --package=youtube-shorts-agent -- youtube-shorts-agent doctor

CLI

youtube-shorts-agent manifest --client codex
youtube-shorts-agent doctor
youtube-shorts-agent privacy-audit
youtube-shorts-agent auth-url --redirect-uri http://localhost:8787/callback
youtube-shorts-agent upload-short --video ./short.mp4 --title "Launch title" --caption-file copy.txt
youtube-shorts-agent list-recent --max-results 10

ドライランはデフォルトで有効です。doctor が OAuth の設定完了を報告し、ライブ API を呼び出す場合に限り、YOUTUBE_DRY_RUN=false を設定してください。

初回アップロード(ドライランの手順)

これが初回実行の全手順です。ここでの各ステップは安全にドライランできます。認証情報は不要で、YouTube に何も送信されません。以下の出力は、実際の実行結果をそのまま記録したものです。

1. 準備状況を確認します。 OAuth が設定されていない場合、doctor によりドライランモードであることが確認できます。

youtube-shorts-agent doctor
{
  "ok": true,
  "dry_run": true,
  "configured": {
    "client_credentials": "missing",
    "access_token": "missing",
    "refresh_token": "missing"
  },
  "missing_count": 3,
  "ready_for_live_upload": false,
  "next_steps": [
    "Current mode is dry-run. Validate metadata and agent flow before live uploads."
  ]
}

2. ショート動画とそのキャプションを準備します。

printf 'Launching the agent-first Shorts uploader.\n#shorts #ai #agents' > copy.txt
# short.mp4 is your vertical 9:16 clip

3. ドライランでアップロードを実行します。 ネットワーク呼び出しは行われません。このツールは公開する場合のジョブと結果をそのまま返すため、エージェントは公開前にメタデータを検証できます。

youtube-shorts-agent upload-short \
  --video ./short.mp4 \
  --title "Agent-first Shorts upload" \
  --caption-file copy.txt \
  --tags ai,agents \
  --duration 24
{
  "ok": true,
  "dry_run": true,
  "job": {
    "id": "youtube_1780082215631",
    "platform": "youtube",
    "status": "queued",
    "createdAt": "2026-05-29T19:16:55.631Z",
    "caption": "Launching the agent-first Shorts uploader.\n#shorts #ai #agents",
    "targetUrl": "",
    "mediaPaths": ["./short.mp4"],
    "metadata": {
      "title": "Agent-first Shorts upload",
      "youtube_title": "Agent-first Shorts upload",
      "youtube_tags": ["ai", "agents"],
      "youtube_contains_synthetic_media": true,
      "video_duration_sec": 24,
      "video_aspect_ratio": "9:16"
    }
  },
  "result": {
    "provider": "youtube_official",
    "platformPostId": "dryrun_1780082215631",
    "releaseUrl": "https://www.youtube.com",
    "raw": { "dryRun": true, "jobId": "youtube_1780082215631" }
  }
}

platformPostId には dryrun_ が先頭に付き、releaseUrl は YouTube のルート URL になります。どちらも何もアップロードされていないことを示しています。id、createdAt、dryrun_* の値は実行ごとに異なります。

4. チャンネル一覧の処理を確認します(ドライランでは空のリストが返されます)。

youtube-shorts-agent list-recent --max-results 5
{ "items": [] }

公開するには。 OAuth を設定します(youtube-shorts-agent auth-url --redirect-uri http://localhost:8787/callback を実行し、コールバックコードをトークンに交換します)。.env に YOUTUBE_CLIENT_ID / YOUTUBE_CLIENT_SECRET / YOUTUBE_ACCESS_TOKEN / YOUTUBE_REFRESH_TOKEN を設定し、ready_for_live_upload が true になるまで doctor を再実行します。その後、YOUTUBE_DRY_RUN=false を設定し、同じ upload-short コマンドを再実行します。

MCP

youtube-shorts-mcp

HTTP(v2 ステートレス)

デフォルトは stdio です。Streamable HTTP も任意で利用できます。セッション ID は不要で、JSON レスポンスを返し、ループバック接続のみを受け付けます。

npx -y -p youtube-shorts-agent youtube-shorts-mcp --http
# GET  http://127.0.0.1:3032/health
# POST http://127.0.0.1:3032/mcp   (sessionless)

環境変数:YOUTUBE_MCP_HOST、YOUTUBE_MCP_PORT、YOUTUBE_MCP_TRANSPORT=http。

Hermes 形式の設定:

mcp_servers:
  youtube_shorts:
    command: npx
    args: ["-y", "youtube-shorts-agent"]
    sampling:
      enabled: false

最初に呼び出すことを推奨するツール:

  1. youtube_connection_status
  2. youtube_privacy_audit
  3. youtube_upload_short

エージェント向け機能

ツール目的
youtube_agent_manifestCodex、Claude、Cursor、Hermes、OpenClaw 向けのインストールおよび実行時のガイダンス
youtube_connection_statusトークン値を表示せずに OAuth とドライランの準備状況を確認
youtube_privacy_auditアップロードのスコープ、合成メディア、ローカルファイルの境界を確認
youtube_oauth_authorize_urlローカルセッションストレージを使用する PKCE 認証 URL
youtube_upload_shortShorts のドライランまたは実アップロード
youtube_list_recent_videosチャンネルを簡易確認

コピーして使えるエージェント用プロンプト

Use youtube-shorts-agent. First call youtube_connection_status and youtube_privacy_audit.
If uploading AI-generated media, keep containsSyntheticMedia=true. Never print token values.

設定

.env.example を .env にコピーします。.env と .agent-data/ は Git の対象外にしてください。

アップロードツールは、AI 生成または AI 編集された動画について、デフォルトで containsSyntheticMedia=true を設定します。そのアセットに該当しない場合に限り、この値を変更してください。

安全性モデル

  • CLI または MCP ツールから OAuth トークンが返されることはありません。
  • PKCE 検証コードは .agent-data/ にローカル保存されます。
  • 実アップロードには YOUTUBE_DRY_RUN=false が必要です。
  • このパッケージは公式 YouTube Data API を使用し、Studio UI の自動操作は行いません。

開発

npm install
npm test
npm run check

📧 お問い合わせとサポート

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。