yt
yt
YouTube CLI для агентов — поиск, транскрипты, метаданные и локальный кэш FTS5 для извлечения контекста для ИИ. Обертка над
yt-dlpс JSON-конвертами, потоковой передачей NDJSON и MCP-бинарником.
Никаких ключей YouTube Data API. Никаких квот. Никаких ограничений по скорости на стандартном пути.
██╗ ██╗████████╗
╚██╗ ██╔╝╚══██╔══╝
╚████╔╝ ██║
╚██╔╝ ██║
██║ ██║
╚═╝ ╚═╝Зачем
Существующие инструменты для YouTube либо:
Созданы для людей (интерактивные TUI, такие как
ytfzf),Созданы для создателей контента (нишевая аналитика, аудит конкурентов),
Либо заперты внутри MCP-серверов.
yt создан для агентов — Claude Code, Cursor, Codex, Gemini CLI и ваших bash-скриптов. Один вызов (yt context <url>) передает LLM все необходимое для анализа видео.
Установка
# Requires yt-dlp on PATH
brew install yt-dlp
# From source
git clone https://github.com/progrmoiz/yt-cli
cd yt-cli
npm install && npm run build && npm linkПроверка работоспособности:
yt doctorБыстрый старт
# Search
yt search "rust async" --limit 5
# Grok a single video (the 80% agent use case)
yt context https://www.youtube.com/watch?v=dQw4w9WgXcQ
# Fetch transcript
yt transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ --text
# Query everything you've cached
yt find "borrow checker"
# List a channel's recent videos
yt channel @ThePrimeTimeagen --limit 20Перенаправление вывода автоматически переключает его в JSON (паттерн redis-cli):
yt search "typescript" | jq '.data[0].url'
yt context <url> | jq '.data.transcript.full_text'Команды
Команда | Описание |
| Поиск по YouTube, без API-ключа. |
| Транскрипт с метками времени в формате JSON. Кэшируется. |
| Метаданные: название, канал, главы, длительность. Кэшируется. |
| Основная функция. Информация + транскрипт + главы для агентов в один запрос. |
| Поиск FTS5 по кэшированным транскриптам. Результаты на уровне строк с метками времени. |
| Последние видео с канала. |
| Диагностика: yt-dlp, кэш, обнаружение агента. |
| Набор регрессионных тестов — отслеживает изменения в эндпоинтах YouTube. |
| JSON-схема для вывода этой команды. |
| Stdio MCP-сервер. Сопутствующий бинарник. |
Интеграция с агентами
Claude Code / Cursor / и т.д. — MCP
// .mcp.json
{
"mcpServers": {
"yt": { "command": "yt", "args": ["mcp", "serve"] }
}
}Инструменты представлены 1:1 с командами CLI: search, info, transcript, context, find, channel, whoami.
Скрипты / оболочка
# Ingest the top 10 search hits into the local cache
yt search "machine learning ops" --limit 10 --json \
| jq -r '.data[].url' \
| xargs -I{} yt transcript {} --json >/dev/null
# Then query across all of them
yt find "feature store" --limit 5Кэш
База данных SQLite в ~/.cache/yt/yt.db. Содержимое:
videos— одна строка на видео (метаданные).transcripts— одна строка на пару (видео, язык).transcript_segments_fts— виртуальная таблица FTS5 по каждому сегменту транскрипта.
Переопределите с помощью YT_CACHE_DIR=/path/to/dir.
Каждый вызов transcript / info / context сначала проверяет кэш. Используйте --refresh для принудительного обновления.
Формат вывода
Стандартный конверт (v2):
{
"version": "2",
"status": "success",
"command": "context",
"cli": { "name": "yt", "version": "0.1.0" },
"data": { /* command payload */ },
"metadata": {
"elapsed_ms": 1200,
"cached": true,
"has_transcript": true,
"agent": "CLAUDECODE"
}
}Используйте --raw для получения «чистых» данных. Полная JSON-схема доступна через yt schema <command>.
Коды выхода
0 ок · 1 общая ошибка · 2 использование · 3 проверка · 4 авторизация · 5 ограничение скорости · 6 сеть · 7 не найдено · 75 временный сбой
Переменные окружения
Переменная | Назначение |
| Директория кэша (по умолчанию: |
| Переопределение пути к бинарному файлу |
| Установите |
| Принудительный вывод в формате JSON |
| Зарезервировано для будущих дополнений Data API |
| Отключить ANSI-цвета |
| Принудительный неинтерактивный режим |
Лицензия
MIT.
Related MCP Connectors
YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
Your agent needs to find video — which channels own a topic, which videos rank for a phrase, what exists in a given country and language. **What you can ask for** • "Which videos rank for 'rag pipeline tutorial' in the US this month?" • "Find channels publishing about MCP, sorted by relevance." • "What playlists cover this subject in Japanese?" • "Search videos uploaded this week only." **How to use it** Point any MCP client at https://mcp.aisa.one/youtube-search/mcp and sign in with OAuth — there is no key to create or paste. One search tool covering videos, channels and playlists, narrowed by country, language, upload date, duration and sort order. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find the video here, then ask the same agent what the channel's site traffic is or what the same phrase does in Google — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/social/mcp for X plus Instagram, Reddit, Pinterest and YouTube; https://mcp.aisa.one/gtm/mcp for those plus Similarweb and Apollo.