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 MCP Server
Настройка
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.91MIT
- FlicenseNot gradedqualityDmaintenanceProvides AI assistants with comprehensive YouTube analytics and channel management capabilities, including channel performance, video analytics, audience insights, and content strategy tools.391
- AlicenseAqualityDmaintenanceEnables YouTube integration with Claude Code, including video search, metadata retrieval, transcript fetching, channel exploration, and trending videos.81MIT
- AlicenseAqualityCmaintenanceEnables 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.621MIT
Related MCP Connectors
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
Agent-callable creator intelligence: 952+ scored YouTube creators across 180 niches.
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Zavier0305/youtube-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server