yutu CLI

yutu управляет YouTube-каналом из терминала: видео, плейлисты, комментарии, субтитры. Есть MCP-сервер, встроенный агент и скилл для Claude Code и Codex

  • 703 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Широкий доступ

Почему такой уровень

  • Публикует, изменяет и удаляет видео, плейлисты, комментарии и подписки на канале от имени владельца аккаунта
  • Хранит OAuth-токен канала в файле `youtube.token.json` и ключ приложения в `client_secret.json`
  • Встроенный агент отправляет прочитанные тексты провайдеру модели, а режим HTTP открывает порт 8216
Все причины и проверки

eat-pray-ai/yutu

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/yutu

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Публикует, изменяет и удаляет видео, плейлисты, комментарии и подписки на канале от имени владельца аккаунта
  • Хранит OAuth-токен канала в файле `youtube.token.json` и ключ приложения в `client_secret.json`
  • Встроенный агент отправляет прочитанные тексты провайдеру модели, а режим HTTP открывает порт 8216

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

yutu — программа на Go с интерфейсом командной строки к YouTube Data API v3. Каждый ресурс канала получает свою команду: `video`, `playlist`, `comment`, `caption`, `channel`, `subscription`, `liveBroadcast`, `thumbnail` и другие. Подкоманды выполняют вставку, список, обновление и удаление, например `yutu video insert --file video.mp4 --title ... --privacy unlisted`. Вывод можно получить в JSON и передать в `jq` или другим программам. Для работы нужен проект в Google Cloud с включенным YouTube Data API v3 и OAuth-ключ приложения типа Desktop. Команда `yutu auth --credential client_secret.json` открывает браузер, пользователь дает доступ, и токен сохраняется в `youtube.token.json`. Пути к обоим файлам можно подменить переменными `YUTU_CREDENTIAL` и `YUTU_CACHE_TOKEN`. Три режима работы поверх тех же операций. `yutu mcp` запускает MCP-сервер по stdio, а с флагом `--mode http` слушает порт 8216 и принимает OAuth. `yutu agent` запускает встроенного агента Miffy, ему нужны провайдер модели (`google` или совместимый с `openai`), имя модели и собственный ключ. Скилл `youtube` из папки `skills/youtube` ставится командой `npx skills add eat-pray-ai/yutu --skill youtube`: он учит агента порядку работы, безопасным шагам перед удалением и принципам YouTube SEO.

Для кого. Для владельцев и редакторов YouTube-каналов и разработчиков, которые хотят поручить Claude Code, Codex или Cursor загрузку роликов, работу с комментариями и плейлистами и подготовку названий и описаний.

Подходит, если

  • Нужно загрузить видео командой `yutu video insert` и сразу положить его в плейлист-очередь с доступом по ссылке, чтобы позже довести название и описание
  • Надо пакетно разобрать комментарии: выгрузить инструментом `commentThread-list`, пометить спам или скрыть через `comment-setModerationStatus`
  • Агенту нужно загрузить или обновить субтитры и миниатюру роликов через `caption` и `thumbnail`
  • Нужен MCP-сервер, через который Claude Code или Cursor видят каналы, плейлисты и аналитику YouTube
  • Требуется встроенный агент для канала с собственным ключом модели, без отдельного клиента, через `yutu agent`

Не подходит, если

  • У вас нет аккаунта Google Cloud или нельзя создать OAuth-ключ приложения: без него yutu не авторизуется
  • Нужны только расшифровки чужих видео без входа в канал: для этого подойдет сервер, который читает транскрипты по ссылке
  • Дневной лимит YouTube Data API в 10 000 единиц на общие запросы вам тесен: у `search.list` и `videos.insert` отдельные корзины, остальные операции делят общий лимит
  • Ваш канал нельзя доверить агенту: у yutu есть команды удаления видео, комментариев и плейлистов

Пример запроса к агенту

Загрузи ролик из файла interview.mp4 на мой канал с доступом по ссылке, придумай название до 60 знаков и добавь его в плейлист «Черновики»

Ограничения

  • Лицензия Apache-2.0 на GitHub. В заголовке файла `SKILL.md` указана MIT, уточните у автора, какая действует для скилла. Последний выпуск v0.11.0, версия до 1.0.
  • Нужен проект Google Cloud: включить YouTube Data API v3 (обязательно), YouTube Analytics API и YouTube Reporting API (по желанию), создать экран согласия с собой в списке тестовых пользователей и OAuth-ключ типа Desktop.
  • По `docs/FEATURES.md` общий лимит YouTube — 10 000 единиц в сутки на большинство операций, у `search.list` и `videos.insert` отдельные корзины. Цены операций в единицах: загрузка субтитров 400, обновление 450, список 50.
  • Токен `youtube.token.json` лежит на диске в текущей папке по умолчанию. Тот, кто получит файл вместе с `client_secret.json`, управляет каналом.
  • Встроенный агент обращается к выбранному провайдеру модели с вашим ключом, поэтому описания и комментарии, которые он читает, уходят этому провайдеру.

Как отключить. Удалите запись `yutu` из настроек MCP клиента и снимите скилл. Токен лучше отозвать на странице доступа аккаунта Google, а затем удалить файлы `youtube.token.json` и `client_secret.json`. Саму программу удаляют тем менеджером пакетов, которым ставили.

Частые вопросы

Какие способы установки есть у yutu?

`npm i -g @eat-pray-ai/yutu`, `brew install yutu` на macOS, `winget install yutu` на Windows, образ `ghcr.io/eat-pray-ai/yutu:latest` для Docker, `go install github.com/eat-pray-ai/yutu@latest` и скрипт `scripts/install.sh` для Linux и macOS. Подлинность проверяет `gh attestation verify`.

Чем MCP-режим yutu отличается от режима агента?

В режиме `yutu mcp` инструменты YouTube получает ваш агент (Claude Code, Codex, Cursor), модель у него своя. В режиме `yutu agent` работает встроенный агент Miffy, и ему нужны провайдер, модель и ключ API. Операции YouTube у обоих режимов одни и те же.

Что значит режим http у сервера MCP?

Команда `yutu mcp --mode http` слушает порт 8216 по адресу `/mcp` и принимает клиента через OAuth. В примере для Claude Code указан флаг `--client-id`, для Codex `--oauth-client-id`. Режим stdio проще и не открывает порт.

Какие операции в скилле считаются опасными?

Скилл делит инструменты на три группы: чтение, запись и необратимое удаление. Удаляющие, а их пятнадцать, такие как `video-delete`, `playlist-delete`, `comment-delete` и `subscription-delete`, требуют перечислить объекты и получить явное подтверждение пользователя.

Как устроен рабочий процесс публикации видео?

В `skills/youtube/references/workflows.md` ролик сначала загружается с доступом по ссылке и кладется в плейлист-очередь, в описании пишут краткое содержание для ИИ. Затем агент читает описание и готовит название, описание, теги и подсказки для миниатюры, и только после этого ролик публикуют.

Что с лимитом запросов YouTube?

Общий лимит YouTube Data API — 10 000 единиц в сутки, поиск и загрузка видео имеют отдельные корзины. В `docs/FEATURES.md` для каждой операции указана цена. Например, запрос списка каналов стоит 1 единицу, загрузка субтитров 400.

Обсуждение

Вопросов и отзывов пока нет.

YouTube MCP (Zubeid)

Zubeid YouTube MCP Server

YouTube MCP на ключе Data API: агент ищет видео и каналы с фильтром по числу подписчиков, читает плейлисты, статистику и расшифровки

MCP-серверРасширенный доступ588Звезды репозитория

YouTube Data MCP (kirbah)

YouTube Data MCP Server (kirbah)

YouTube MCP с урезанными ответами: расшифровки без ключа, статистика видео и каналов, тренды, комментарии, кеш в MongoDB и поиск растущих каналов

MCP-серверРасширенный доступ32Звезды репозитория

yt-fts скачивает субтитры каналов и плейлистов YouTube в базу SQLite и ищет по ним фразы с ссылками на нужную секунду, есть смысловой поиск и чат

CLIШирокий доступ1,8 тыс.Звезды репозитория

YouTube Skills

YouTube Skills for AI Agents

Набор скиллов дает агенту транскрипты видео YouTube, поиск роликов и каналов и разбор плейлистов через один API

СкиллРасширенный доступ1,1 тыс.Звезды репозитория
Выбор редакции

Скилл /watch: по ссылке или файлу достает кадры и субтитры, а при ключе Gemini передает видео целиком Google, чтобы агент отвечал на вопросы по ролику

СкиллШирокий доступ19,1 тыс.Звезды репозитория

MCP сервер для расшифровки YouTube: агент получает транскрипт видео по ссылке, с таймкодами и метаданными

MCP-серверРасширенный доступ492Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
yutu (эта запись)нет703
YouTube Transcript MCP Serverнетне нужна492только читает расшифровки роликов по ссылке и не управляет каналом
MCP-коннекторы публикации без ручного OAuthнетOAuth0публикует в YouTube, Instagram, VK и Дзен через self-hosted Nango, токены хранит Nango
YouTube MCP (Zubeid)нетAPI-ключ588YouTube MCP на ключе Data API

Коротко о README

Главная страница начинается с предварительных требований (Google Cloud, OAuth, авторизация) и таблицы переменных окружения. Затем идут способы установки с проверкой подлинности через аттестации, режим агента с флагами, настройка MCP для Claude Code, Codex и ручной вариант для VS Code, Cursor и OpenCode, и раздел о скилле. Заканчивается справка по командам. В репозитории есть таблица поддерживаемых операций с ценой квоты, руководство для участников, инструкции для агентов в `AGENTS.md`, тестовые генераторы и перевод на китайский.

Бейдж для README

Сообщить о проблеме

Foxx AIyutu
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.