MCP Directory

How to add yutu to Claude Desktop

CLI and MCP server for YouTube — upload, optimize, and manage videos, playlists, comments, and channel branding. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.

Last updated June 14, 2026 · 518 · stdio · oauth

Claude Desktop config for yutu

npm i -g @eat-pray-ai/yutu
{
  "mcpServers": {
    "yutu": {
      "command": "yutu",
      "args": [
        "mcp"
      ],
      "env": {
        "YUTU_CREDENTIAL": "/absolute/path/to/client_secret.json",
        "YUTU_CACHE_TOKEN": "/absolute/path/to/youtube.token.json"
      }
    }
  }
}

Setup steps

  1. 1Open Claude Desktop → Settings → Developer → Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the yutu config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 5Open a chat and confirm yutu's tools appear under the 🔌 tools menu.

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)

What yutu can do in Claude Desktop

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.

Security

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 + Claude Desktop FAQ

Where is the Claude Desktop config file?

Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the yutu config there under the "mcpServers" key and restart the client.

Is yutu safe to use with Claude Desktop?

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`.

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.

View repo Full yutu page