youtube-mcp
youtube-mcp
MCP-сервер, позволяющий анализировать YouTube-канал @ザビエル-zav напрямую из Claude.
Цель — отвечать на вопросы вроде «Какое видео на прошлой неделе имело лучший CTR?», подтягивая реальные данные.
Сделан на Node.js (без Python). YouTube Analytics API / Reporting API / Data API v3
обёрнуты в официальные библиотеки для Node (googleapis, google-auth-library) и
опубликованы как инструменты через официальный TypeScript SDK MCP (@modelcontextprotocol/sdk).
Используемые API и их назначение
Нужные данные | API | Способ получения |
Просмотры, время просмотра, средний процент удержания, прирост подписчиков, источники трафика, аудитория | YouTube Analytics API | JSON возвращается сразу по запросу |
Показы миниатюр, CTR показов | YouTube Reporting API (Bulk Reports) | Предварительная регистрация задания → ежедневная генерация CSV → загрузка и чтение |
Названия видео, описания, комментарии | YouTube Data API v3 | JSON возвращается сразу по запросу |
CTR получается принципиально другим способом (bulk-отчёты), поэтому используется отдельный путь:
регистрация задания через register-reach-job.js → периодическое накопление CSV локально через download-reports.js.
Related MCP server: youtube-organic-mcp
Настройка
1. Google Cloud Console
Создайте проект
Включите следующие 3 API:
YouTube Analytics API
YouTube Reporting API
YouTube Data API v3
Настройте экран согласия OAuth (тип пользователя = внешний, добавьте свой аккаунт Google в тестовые пользователи)
Создайте Учётные данные > OAuth-клиент ID > Тип приложения = Desktop app и скачайте JSON
Положите скачанный JSON в корень этого репозитория под именем
client_secret.jsonНикогда не коммитьте
client_secret.jsonиtoken.json, создаваемый после первой авторизации. Они уже в.gitignore, но будьте осторожны, чтобы случайно не сделатьgit add -f.
2. Node.js и зависимости
Нужен Node.js 18 или новее (если не установлен — поставьте LTS-версию с nodejs.org.
В установщик входит и npm, так что отдельная настройка PATH, как для Python, в основном не нужна).
npm install3. Регистрация задания для reach-отчёта (CTR) — выполнить в первую очередь
Reporting API начинает генерацию данных «с дня регистрации задания», и за прошлые периоды можно получить данные только за 30 дней до момента регистрации. Чем дольше откладывать регистрацию, тем больше исторических CTR-данных будет потеряно, поэтому выполните это раньше остальных задач.
npm run register-reach-jobПри первом запуске откроется браузер и запросит авторизацию (далее — автоматическое обновление через token.json).
4. Запуск MCP-сервера
npm startДля использования из Claude Desktop зарегистрируйте сервер в claude_desktop_config.json следующим образом.
{
"mcpServers": {
"youtube-analytics": {
"command": "node",
"args": ["/absolute/path/to/youtube-mcp/server.js"]
}
}
}5. Скачивание reach-отчётов (через несколько часов — 2 дня после регистрации)
npm run download-reportsCSV накапливаются в data/reach/<report_type>/. Отчёты удаляются на стороне YouTube через 60 дней
(для исторических данных — через 30 дней), поэтому запускайте скачивание регулярно (в идеале — раз в день).
На Windows можно использовать Планировщик заданий, на Mac/Linux — cron.
Инструмент get_reach читает эти локальные CSV.
Список публичных инструментов
Имя инструмента | Аргументы | Что возвращает |
|
| Просмотры, время просмотра, прирост подписчиков за весь период |
|
| Топ видео по просмотрам и их базовые показатели |
|
| Детальные показатели указанного видео |
|
| Кривая удержания зрителей (шаг 10%) + точка максимального ухода |
|
| Разбивка источников трафика |
|
| Показы миниатюр и CTR (агрегация из локальных CSV) |
|
| Список комментариев (по релевантности) |
Вывод — не сырой JSON, а округлённые числа и текстовые таблицы (не более ~20 строк), чтобы экономить контекст на стороне Claude.
Известные ограничения
Данные Analytics API отстают от показателей YouTube Studio на срок до 2 дней. «Вчерашние цифры» могут быть недоступны.
get_reachвидит только уже скачанные локально CSV. Данные за периоды, когдаdownload-reports.jsне запускался, не появятся.Точная структура колонок
channel_reach_basic_a1/channel_reach_combined_a1не подтверждена.get_reachчитает их с фолбэком, угадывая имена колонок по ключевым словам, но стоит один раз проверить по заголовкам реально скачанных CSV.Запись не поддерживается (только чтение). Пути для случайного изменения или удаления видео не существует.
Варианты развёртывания
Где использовать | Что нужно |
Приложение Claude Desktop | Достаточно запустить |
claude.ai (веб/мобильный) | Нужно опубликовать как удалённый MCP-сервер, доступный по HTTPS |
Если нужно использовать и со смартфона, быстрее всего переключить StdioServerTransport на
StreamableHTTPServerTransport (@modelcontextprotocol/sdk/server/streamableHttp.js)
и разместить на существующем хостинге.
This server cannot be deployed
Maintenance
Related MCP Connectors
Your YouTube channels’ private analytics for AI assistants: revenue, views, retention. Read-only.
AI YouTube analyst in Claude for creators: audit, fix, decide what to make next, grow subs.
YouTube research for AI assistants: channel and video stats, transcripts and comments, outlier videos that beat their channel's average, viral title formats, keyword ideas, similar thumbnails and channels, YouTube rankings and competitor tracking.
- AlgrowOAuthonline.algrow
YouTube research: channel search, viral videos, channel analytics, transcripts, thumbnails, TTS
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude to access and manage YouTube channel data through the YouTube Data API v3 and YouTube Analytics API. Provides tools for reading analytics, fetching video metadata, searching uploads, and updating video SEO directly from Claude.9 npm1MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to access YouTube organic analytics, including channel stats, video performance, watch time, and audience engagement, via the YouTube Data API v3 and Analytics API v2.68 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to retrieve YouTube channel overviews, Studio analytics, video performance, traffic source breakdowns, and comments for sentiment analysis using natural language prompts.81MIT
- FlicenseAqualityCmaintenanceEnables Claude to retrieve YouTube transcripts, search videos and channels, fetch metadata and playlists, analyze engagement, and access trending content via natural language.1516 npm-