Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
SkillCautionImages, video & audioSome setup

yutu

eat-pray-ai · eat-pray-ai/yutu

An MCP server and toolkit for YouTube that automates video uploads, description optimization, and comment management.

The AI-powered toolkit that grows your YouTube channel on autopilot.

699 stars83License: Apache-2.0Updated 7 days ago0 opens

Preview

▍

What you can do with it

  • Let an agent upload and optimize video metadata automatically
  • Moderate and reply to YouTube comments using Claude
  • Manage channel playlists and branding through AI commands

Safety check

Caution

Usable, but read the notes first.

  • ●Installer downloads a remote script and pipes it to the shell.README.md

Automated scan of the repo files. Always review code you run.

From the README

yutu

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. 中文文档

Table of Contents

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:

  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 Desktop app
    • Download the credential file and save it as client_secret.json, it should look like
    {
      "installed": {
        "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"
        ]
      }
    }
    
  3. Authenticate:

    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.

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

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

If you're using an AI agent, copy and paste the following prompt to finish the installation:

Install and configure yutu by following https://raw.githubusercontent.com/eat-pray-ai/yutu/refs/heads/main/internal/tools/skillgen/setup.md

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

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

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

Docker

❯ 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

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

Linux

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

❯ brew install yutu

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

Windows

❯ winget install yutu

Verifying Installation

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

# 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 (Miffy) to automate YouTube workflows. The agent can retrieve, create, update, and delete YouTube content, with built-in YouTube growth strategy and SEO expertise.

# Gemini(compatible) (default)
❯ yutu agent --provider google --model gemini-3.8-flash --api-key "YOUR_KEY"
❯ yutu agent --provider google --model gemini-3.8-flash --api-key "YOUR_KEY" --base-url "https://custom.endpoint.com/"
# OpenAI(compatible) (OpenAI, DeepSeek, Ollama, vLLM, etc.)
❯ yutu agent --provider openai --model gpt-5.6-terra --api-key "YOUR_KEY"
❯ yutu agent --provider openai --model deepseek-flash --api-key "YOUR_KEY" --base-url "https://api.deepseek.com/"
# web mode with sub-launchers
❯ yutu agent --args "web api a2a webui" --api-key "YO
View source on GitHub