MCP Directory

yutu

CLI and MCP server for YouTube — upload, optimize, and manage videos, playlists, comments, and channel branding.

Unverified
stdio (local)
OAuth
Go

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
npm i -g @eat-pray-ai/yutu

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "yutu": {
      "command": "yutu",
      "args": [
        "mcp"
      ],
      "env": {
        "YUTU_CREDENTIAL": "/absolute/path/to/client_secret.json",
        "YUTU_CACHE_TOKEN": "/absolute/path/to/youtube.token.json"
      }
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • A Google Cloud Platform account with a GCP project
  • YouTube Data API v3 enabled (Required); YouTube Analytics API and YouTube Reporting API optional
  • OAuth Client ID credentials (Desktop app) saved as client_secret.json
  • A cached OAuth token (youtube.token.json) generated by running `yutu auth --credential client_secret.json`
  • yutu installed (via npm, Homebrew, WinGet, go install, Docker, or release binary)

About yutu

yutu is an open-source (Apache-2.0) Go toolkit that acts as a CLI, MCP server, and AI agent for YouTube. Running yutu mcp starts an MCP server that exposes almost all YouTube resources — videos, playlists, playlist items, playlist images, comments, comment threads, captions, channels, channel banners, channel sections, subscriptions, members, memberships levels, thumbnails, watermarks, activities, search, super chat events, i18n languages/regions, and video categories/abuse-report-reasons — so AI clients can manage a YouTube channel end to end. It authenticates with Google OAuth using a client secret and a cached token. The server supports stdio (default) and HTTP modes; HTTP mode runs on port 8216 and supports OAuth. Beyond MCP, yutu also offers a standalone CLI and a multi-agent mode (currently Gemini-only) for autonomous YouTube growth workflows.

Tools & capabilities (22)

video

Manage YouTube videos: upload, list, update metadata, and delete videos.

playlist

Manage YouTube playlists: create, list, update, and delete playlists.

playlistItem

Manage items within YouTube playlists.

playlistImage

Manage playlist images.

comment

Manage YouTube comments: post, list, update, and delete comments.

commentThread

Manage YouTube comment threads.

caption

Manage YouTube video captions: list, upload, update, and delete captions.

channel

Manage YouTube channels and channel metadata.

channelBanner

Manage YouTube channel banners.

channelSection

Manage YouTube channel sections.

thumbnail

Set custom thumbnails for YouTube videos.

watermark

Set and manage YouTube channel watermarks.

subscription

Manage YouTube subscriptions: list, subscribe, and unsubscribe.

member

Manage YouTube channel members.

membershipsLevel

Manage YouTube memberships levels.

activity

Manage and list activities on YouTube.

search

Search YouTube for videos, channels, and playlists.

superChatEvent

Manage YouTube Super Chat events.

i18nLanguage

Manage YouTube i18n languages.

i18nRegion

Manage YouTube i18n regions.

videoCategory

Manage YouTube video categories.

videoAbuseReportReason

Manage YouTube video abuse report reasons.

What this server can do

yutu provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Let an AI assistant upload videos and optimize titles, descriptions, and tags for higher click-through and views
  • Automate playlist creation and organization across a channel
  • Bulk-manage comments and reply to audience engagement
  • Manage captions, thumbnails, and channel branding (banners, watermarks, sections)
  • Search and retrieve YouTube data (videos, channels, playlists, subscriptions, members) for analysis or reporting

Security notes

Requires Google Cloud OAuth credentials with YouTube Data API v3 access. You must create a GCP project, enable the YouTube Data API v3, create an OAuth Client ID (Desktop app), save it as client_secret.json, then run `yutu auth` to generate youtube.token.json. The MCP server reads these credential and token files via YUTU_CREDENTIAL and YUTU_CACHE_TOKEN. The server can perform destructive operations (delete videos, playlists, comments, captions, subscriptions, channel sections, watermarks) on the authenticated YouTube account, so grant access carefully. Optional HTTP mode supports OAuth client-id/secret authentication. Releases ship cryptographically signed attestations verifiable with `gh attestation verify`.

yutu FAQ

How does authentication work?

yutu uses Google OAuth. Create an OAuth Client ID (Desktop app) in Google Cloud, save it as client_secret.json, and run `yutu auth --credential client_secret.json`. A browser window opens to grant YouTube access, and a token is saved to youtube.token.json. The MCP server reads both files via the YUTU_CREDENTIAL and YUTU_CACHE_TOKEN environment variables.

Which transports does the MCP server support?

Stdio mode by default (`yutu mcp`), and HTTP mode (`yutu mcp --mode http --auth`) which runs on port 8216 and supports OAuth client-id/secret authentication.

How do I add yutu to Claude Code?

Run `claude mcp add -e YUTU_CREDENTIAL=/absolute/path/to/client_secret.json -e YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json yutu -- yutu mcp` for stdio mode.

Can it perform destructive actions?

Yes. yutu can delete videos, playlists, comments, captions, subscriptions, channel sections, and watermarks on the authenticated account, so grant access carefully.

Alternatives to yutu

Compare all alternatives →

Connect your personal WhatsApp: search, read and send messages and media locally

Verified
stdio (local)
No auth
Python
12 tools
Updated 1 month agoRepo

Powerful Slack MCP with stdio/SSE/HTTP, DMs, group DMs and no-admin token auth

Verified
stdio (local)
API key
Go
12 tools
Updated 1 month agoRepo

Full Telegram user-account MCP via MTProto: read chats, manage groups, send messages

Verified
stdio (local)
API key
Python
11 tools
Updated 11 days agoRepo