Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Yutu

    A fully functional MCP server and CLI for YouTube Go-based implementation.

    317 stars
    Go
    Updated Oct 15, 2025
    agent
    automation
    bot
    cli
    golang
    mcp
    shorts-automate
    video
    youtube

    Table of Contents

    • Table of Contents
    • Prerequisites
    • Global Environment Variables
    • Installation
    • GitHub Actions
    • Node.js
    • Docker
    • Gopher
    • Linux
    • macOS
    • Windows
    • Verifying Installation
    • Agent
    • Agent Environment Variables
    • MCP Server
    • Skills
    • Usage
    • Features
    • Contributing
    • Star History

    Table of Contents

    • Table of Contents
    • Prerequisites
    • Global Environment Variables
    • Installation
    • GitHub Actions
    • Node.js
    • Docker
    • Gopher
    • Linux
    • macOS
    • Windows
    • Verifying Installation
    • Agent
    • Agent Environment Variables
    • MCP Server
    • Skills
    • Usage
    • Features
    • Contributing
    • Star History

    Documentation

    Yutu

    yutu

    Static Badge

    Go Report Card

    GitHub License

    Go Reference

    Go Coverage

    GitHub Repo stars

    GitHub Downloads

    GitHub Actions build Status

    GitHub Actions CodeQL Status

    GitHub Actions test Status

    Trust Score

    GitHub Release

    Homebrew Formula Version

    [![WinGet Package Version](https://img.shields.io/winget/v/eat-pray-ai.yutu?style=flat-square&label=%F0%9F%93%A6%20winget

    )](https://winstall.app/apps/eat-pray-ai.yutu)

    npm Version

    yutu - build a fully automated YouTube Channel!

    yutu is a CLI, MCP server, and AI agent for YouTube that automates your entire YouTube workflow — from uploading and optimizing videos to managing comments, playlists, and channel branding — so you can get more views, higher click-through rates, and stronger audience engagement with less manual effort. 中文文档

    mcp demo

    Table of Contents

    • Prerequisites
    • Installation
    • Agent
    • MCP Server
    • Skills
    • Usage
    • Features
    • Contributing

    Prerequisites

    An account on Google Cloud Platform is required. Set up the following:

    1. Create a GCP Project and enable these APIs under APIs & Services -> Enable APIs and services:

    • YouTube Data API v3 (Required)
    • YouTube Analytics API (Optional)
    • YouTube Reporting API (Optional)

    2. Create OAuth credentials:

    • Go to APIs & Services -> OAuth consent screen, create a consent screen with yourself as a test user
    • Go to Credentials -> Create Credentials -> OAuth Client ID, select Web Application
    • Add http://localhost:8216 as an authorized redirect URI
    • Download the credential file and save it as client_secret.json, it should look like
    json
    {
         "web": {
           "client_id": "11181119.apps.googleusercontent.com",
           "project_id": "yutu-11181119",
           "auth_uri": "https://accounts.google.com/o/oauth2/auth",
           "token_uri": "https://oauth2.googleapis.com/token",
           "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
           "client_secret": "XXXXXXXXXXXXXXXX",
           "redirect_uris": [
             "http://localhost:8216"
           ]
         }
       }

    3. Authenticate:

    bash
    yutu auth --credential client_secret.json

    A browser window will open for you to grant YouTube access. After granting permission, a token is saved to youtube.token.json.

    json
    {
         "access_token": "ya29.XXXXXXXXX",
         "token_type": "Bearer",
         "refresh_token": "1//XXXXXXXXXX",
         "expiry": "2024-05-26T18:49:56.1911165+08:00"
       }

    By default, yutu will read client_secret.json and youtube.token.json from the current directory, --credential/-c and --cacheToken/-t flags are available only in auth subcommand. To modify the default path in all subcommands, set these environment variables.

    Global Environment Variables

    VariableDescriptionDefault
    YUTU_CREDENTIALPath, base64, or JSON of OAuth client secretclient_secret.json
    YUTU_CACHE_TOKENPath, base64, or JSON of cached OAuth tokenyoutube.token.json
    YUTU_ROOTRoot directory for file resolutionCurrent working directory
    YUTU_LOG_LEVELLog level: DEBUG, INFO, WARN, ERRORINFO

    Installation

    You can download yutu from releases page directly, or use the following methods as you prefer.

    • GitHub Actions
    • Node.js
    • Docker
    • Gopher
    • Linux
    • macOS
    • Windows
    • Verifying Installation

    GitHub Actions

    There are two actions available for yutu, one is for general purpose and the other is for uploading video to YouTube. Refer to youtube-action and youtube-uploader for more information.

    Node.js

    shell
    ❯ npm i -g @eat-pray-ai/yutu

    Docker

    shell
    ❯ docker pull ghcr.io/eat-pray-ai/yutu:latest
    ❯ docker run --rm ghcr.io/eat-pray-ai/yutu:latest
    # make sure client_secret.json is in the current directory
    ❯ docker run --rm -it -u $(id -u):$(id -g) -v $(pwd):/app -p 8216:8216 ghcr.io/eat-pray-ai/yutu:latest

    Gopher

    shell
    ❯ go install github.com/eat-pray-ai/yutu@latest

    Linux

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

    macOS

    Install yutu using Homebrew🍺(recommended), or run the shell script.

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

    Windows

    shell
    ❯ winget install yutu

    Verifying Installation

    Verify the integrity and provenance of yutu using its associated cryptographically signed attestations.

    shell
    # Docker
    ❯ gh attestation verify oci://ghcr.io/eat-pray-ai/yutu:latest --repo eat-pray-ai/yutu
    
    # Linux and macOS(if installed using shell script)
    ❯ gh attestation verify $(which yutu) --repo eat-pray-ai/yutu
    
    # Windows
    ❯ gh attestation verify $(where.exe yutu.exe) --repo eat-pray-ai/yutu

    Agent

    yutu provides an agent mode to automate YouTube workflows. The system uses a multi-agent architecture where a central orchestrator delegates tasks to specialized agents:

    AgentRoleCapabilities
    OrchestratorCoordinates the entire workflow, plans strategy, and delegates to sub-agentsYouTube growth strategy, SEO optimization, task routing
    RetrievalGathers data from YouTube and the web (read-only)List/search videos, channels, playlists, comments, captions, subscriptions, members, and more; Google Search
    ModifierCreates and updates YouTube contentUpload videos, create playlists, update metadata, post comments, set thumbnails, manage captions and watermarks
    DestroyerHandles destructive operations with extra cautionDelete videos, playlists, comments, captions, subscriptions, channel sections, and watermarks

    Currently, the agent mode is under active development, only supports Google's Gemini models with the following environment variables set:

    shell
    ❯ export YUTU_ADVANCED_MODEL=google:gemini-3.1-pro-preview
    ❯ export YUTU_LITE_MODEL=google:gemini-3-flash-preview
    ❯ export YUTU_LLM_API_KEY=your_gemini_api_key
    // Optional settings
    ❯ export GOOGLE_GEMINI_BASE_URL=https://generativelanguage.googleapis.com/
    ❯ export YUTU_AGENT_INSTRUCTION=Your custom instruction here

    YUTU_ADVANCED_MODEL is used by the orchestrator agent, while YUTU_LITE_MODEL is used by all other agents. Both use

    the provider:modelName format (only google is supported). If only one is set, the other defaults to the same value.

    Agent Environment Variables

    VariableDescriptionRequired
    YUTU_ADVANCED_MODELModel for orchestrator agent (format: provider:modelName)At least one of YUTU_ADVANCED_MODEL or YUTU_LITE_MODEL
    YUTU_LITE_MODELModel for sub-agents (format: provider:modelName)At least one of YUTU_ADVANCED_MODEL or YUTU_LITE_MODEL
    YUTU_LLM_API_KEYAPI key for the model providerYes
    GOOGLE_GEMINI_BASE_URLBase URL for Gemini APINo
    YUTU_AGENT_INSTRUCTIONCustom instruction for orchestrator agentNo
    YUTU_RETRIEVAL_INSTRUCTIONCustom instruction for retrieval agentNo
    YUTU_MODIFIER_INSTRUCTIONCustom instruction for modifier agentNo
    YUTU_DESTROYER_INSTRUCTIONCustom instruction for destroyer agentNo

    Then run the following command for detail usage:

    code
    ❯ yutu agent --help
    ❯ yutu agent --args "help"
    # console mode
    ❯ yutu agent --args "console"
    # web mode with three sub-launchers: api, a2a and webui
    ❯ yutu agent --args "web api a2a webui"

    MCP Server

    Install in VS Code

    Install in Cursor

    As a MCP server, yutu can be used in MCP clients like Claude Desktop, VS Code or Cursor, which allows you to interact with YouTube resources in a chat-like interface.

    Before using yutu as an MCP server, make sure yutu is installed(see Installation section), and you have a valid client_secret.json and youtube.token.json files(refer to Prerequisites section).

    You can add yutu as a MCP server in VS Code or Cursor by clicking corresponding badge above, or add the following configuration manually to your MCP client. Remember to replace the values of YUTU_CREDENTIAL and YUTU_CACHE_TOKEN with correct paths on your local machine.

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

    Skills

    yutu provides a set of skills that extend AI agents with YouTube domain knowledge. Install individual skills to give your agent specialized capabilities for specific YouTube resources.

    shell
    # Install a single skill (e.g. video management)
    ❯ npx skills add https://github.com/eat-pray-ai/yutu/tree/main/skills/youtube-video
    
    # Install all skills at once
    ❯ npx skills add https://github.com/eat-pray-ai/yutu/tree/main/skills

    Available Skills

    SkillDescription
    youtube-activityManage activities on YouTube
    youtube-captionManage YouTube video captions
    youtube-channelManage YouTube channels
    youtube-channelBannerManage YouTube channel banners
    youtube-channelSectionManage YouTube channel sections
    youtube-commentManage YouTube comments
    youtube-commentThreadManage YouTube comment threads
    youtube-i18nLanguageManage YouTube i18n languages
    youtube-i18nRegionManage YouTube i18n regions
    youtube-memberManage YouTube channel members
    youtube-membershipsLevelManage YouTube memberships levels
    youtube-playlistManage YouTube playlists
    youtube-playlistImageManage YouTube playlist images
    youtube-playlistItemManage YouTube playlist items
    youtube-searchManage YouTube search
    youtube-subscriptionManage YouTube subscriptions
    youtube-superChatEventManage YouTube Super Chat events
    youtube-thumbnailManage YouTube video thumbnails
    youtube-videoManage YouTube videos
    youtube-videoAbuseReportReasonManage YouTube video abuse report reasons
    youtube-videoCategoryManage YouTube video categories
    youtube-watermarkManage YouTube watermarks

    Usage

    shell
    ❯ yutu        
    yutu is a fully functional MCP server and CLI for YouTube, which can manipulate almost all YouTube resources.
    
    Environment variables:
      YUTU_CREDENTIAL    Path/base64/JSON of OAuth client secret (default: client_secret.json)
      YUTU_CACHE_TOKEN   Path/base64/JSON of cached OAuth token (default: youtube.token.json)
      YUTU_ROOT          Root directory for file resolution (default: current working directory)
      YUTU_LOG_LEVEL     Log level: DEBUG, INFO, WARN, ERROR (default: INFO)
    
    Usage:
      yutu [flags]
      yutu [command]
    
    Available Commands:
      activity               Manage activities on YouTube
      agent                  Start an agent to automate YouTube workflows
      auth                   Authenticate with YouTube APIs
      caption                Manage YouTube video captions
      channel                Manage YouTube channels
      channelBanner          Manage YouTube channel banners
      channelSection         Manage YouTube channel sections
      comment                Manage YouTube comments
      commentThread          Manage YouTube comment threads
      completion             Generate the autocompletion script for the specified shell
      help                   Help about any command
      i18nLanguage           Manage YouTube i18n languages
      i18nRegion             Manage YouTube i18n regions
      mcp                    Start MCP server
      member                 Manage YouTube channel members
      membershipsLevel       Manage YouTube memberships levels
      playlist               Manage YouTube playlists
      playlistImage          Manage YouTube playlist images
      playlistItem           Manage YouTube playlist items
      search                 Manage YouTube search
      subscription           Manage YouTube subscriptions
      superChatEvent         Manage YouTube Super Chat events
      thumbnail              Manage YouTube video thumbnails
      version                Show the version of yutu
      video                  Manage YouTube videos
      videoAbuseReportReason Manage YouTube video abuse report reasons
      videoCategory          Manage YouTube video categories
      watermark              Manage YouTube watermarks
    
    Flags:
      -h, --help   help for yutu
    
    Use "yutu [command] --help" for more information about a command.

    Features

    Please refer to FEATURES.md for more information.

    Contributing

    Please refer to CONTRIBUTING.md for more information.

    Star History

    Star History Chart

    Similar MCP

    Based on tags & features

    • MC

      Mcpjungle

      Go·
      617
    • MC

      Mcp K8s Go

      Go·
      351
    • AN

      Anyquery

      Go·
      1.4k
    • MC

      Mcp Cyclops

      Go·
      29

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • MC

      Mcpjungle

      Go·
      617
    • MC

      Mcp K8s Go

      Go·
      351
    • AN

      Anyquery

      Go·
      1.4k
    • MC

      Mcp Cyclops

      Go·
      29

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k