home / mcp / yutu mcp server

Yutu MCP Server

Provides a full MCP server and CLI to automate YouTube workflows, enabling programmatic control of videos, channels, playlists, comments, and more.

Installation
Add the following to your MCP client configuration file.

Configuration

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

You can run yutu as a fully functional MCP server and CLI to automate your YouTube workflows. It can manage videos, playlists, channels, captions, comments, and more, enabling chat-like interactions with YouTube resources through MCP clients.

How to use

You use an MCP client to connect to the yutu MCP server. Start the local server, then configure your MCP client to point at the yutu executable with the mcp command. The MCP client will communicate through standard input/output, letting you issue YouTube operations in a conversational style.

How to install

Prerequisites depend on your platform and preferred installation method. You need Go tooling or a prebuilt binary, plus a YouTube API credential file named client_secret.json and a YouTube token file named youtube.token.json for authentication.

# Optional: verify you have Go installed
go version

Install using the Linux script, macOS Homebrew, Docker, Go, or Windows package managers as shown.

# Linux
curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash

# macOS (Homebrew, recommended)
brew install yutu

# macOS or Linux script alternative
curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash

# Docker (pull and run)
docker pull ghcr.io/eat-pray-ai/yutu:latest
docker run --rm ghcr.io/eat-pray-ai/yutu:latest

Windows users can install via winget.

winget install yutu

Verify installation integrity with attestations if you installed through a distribution method that supports them.

# Linux/macOS (shell script install)
gh attestation verify $(which yutu) --repo eat-pray-ai/yutu

# Windows
gh attestation verify $(where.exe yutu.exe) --repo eat-pray-ai/yutu

MCP Server

To run yutu as an MCP server locally, you connect via a standard input/output configuration. The server is started by invoking the yutu executable with the MCP subcommand in the proper environment.

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

In MCP clients such as VS Code or Cursor, add this configuration to connect to the local server. Replace the paths with your actual credential and token file locations.

Usage details

Once the MCP server is running, you can perform a wide range of YouTube actions via the MCP client’s chat-like interface. Available commands include activity, auth, caption, channel, playlist, video, comment, and many more. Use the help command in the MCP client to discover all supported actions and their arguments.

Tools and capabilities

The server provides a broad set of tools to manipulate YouTube resources. Each tool corresponds to a specific resource or operation, such as listing activities, managing channels and playlists, updating video details, handling comments and captions, and retrieving information like video categories or i18n data.

Security and credentials

Store your OAuth client secrets and tokens securely. Keep client_secret.json and youtube.token.json in a safe location and reference them via the MCP configuration. Do not share your credentials publicly.

Contributing

Contributions are welcome. Follow standard practices to add new MCP capabilities, improve authentication flows, or enhance client integrations. Ensure code changes are accompanied by tests and update the MCP configuration if needed.

Available tools

activity

List YouTube activities for a channel or user.

auth

Authenticate with YouTube API to obtain access tokens.

caption

Manipulate YouTube captions for videos.

channel

Manipulate YouTube channel details.

channelBanner

Insert or update the YouTube channel banner.

channelSection

Manipulate YouTube channel sections.

comment

Manipulate YouTube comments.

commentThread

Manipulate YouTube comment threads.

completion

Generate autocompletion script for the specified shell.

i18nLanguage

List YouTube i18n languages.

i18nRegion

List YouTube i18n regions.

mcp

Start the MCP server to enable chat-like YouTube operations.

member

List channel members' information.

membershipsLevel

List memberships levels information.

playlist

Manipulate YouTube playlists.

playlistImage

Manipulate YouTube playlist images.

playlistItem

Manipulate YouTube playlist items.

search

Search YouTube resources.

subscription

Manipulate YouTube subscriptions.

superChatEvent

List Super Chat events for a channel.

thumbnail

Set a video thumbnail.

version

Show the version of yutu.

video

Manipulate YouTube videos.

videoAbuseReportReason

List YouTube video abuse report reasons.

videoCategory

List YouTube video categories.

watermark

Manipulate YouTube channel watermark.