youtube-mcp-server
youtube-mcp-server
Удалённый MCP-сервер, который предоставляет YouTube Data API v3 в виде инструментов через Streamable HTTP, так что его можно добавить в claude.ai как пользовательский коннектор.
Никаких зависимостей. Никакого этапа сборки. node src/server.js — это всё.
Инструменты
Tool | Что делает | Стоимость квоты |
| Самые популярные видео для страны, опционально отфильтрованные по одной категории | 1 единица |
| Поиск по ключевым словам среди видео, каналов или плейлистов со статистикой | 1 поисковый вызов + 1 единица |
| Недавние загрузки канала, а также общее число подписчиков и просмотров | 3 единицы |
| Полная статистика для до 50 видео за один вызов | 1 единица |
| Комментарии верхнего уровня с количеством лайков и ответов | 1 единица |
Транскрипции намеренно отсутствуют. captions.download требует OAuth и прав на редактирование видео, поэтому API-ключ может получать субтитры только для видео, которыми вы владеете. По многочисленным сообщениям, неофициальные библиотеки для скрейпинга блокируются при обращении с облачных IP-диапазонов — а именно там работает этот сервер.
Related MCP server: mcp-server-youtube
Квота
Проект получает 10 000 единиц в день в общем пуле, а search.list находится в отдельном пуле с лимитом 100 вызовов в день. Это определило дизайн инструментов: youtube_channel_videos использует channels.list → playlistItems.list → videos.list вместо search.list?channelId=, поэтому просмотр канала стоит 3 единицы общего пула вместо одного из всего лишь сотни ежедневных поисков.
Запуск локально
cp .env.example .env # add your YOUTUBE_API_KEY
export $(grep -v '^#' .env | xargs)
npm startcurl localhost:3000/health
curl -s localhost:3000/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | head -c 400Тест
npm testЗапускает полное рукопожатие MCP, оба транспортных режима, все пять инструментов и сценарии ошибок против заглушки YouTube API. Не требуется ни API-ключ, ни сеть.
Деплой на Railway
Отправьте этот репозиторий на GitHub.
Railway → New Project → Deploy from GitHub repo → выберите его.
Variables → добавьте
YOUTUBE_API_KEY.Settings → Networking → Generate Domain.
Проверьте, что
https://<your-domain>/healthвозвращает"apiKeyConfigured": true.
Railway сам задаёт PORT; сервер привязывается к 0.0.0.0 и считывает его.
Подключение к claude.ai
Customize → Connectors → Add custom connector → https://<your-domain>/mcp
Поля OAuth не нужны — по умолчанию сервер работает без аутентификации. Чтобы закрыть доступ, задайте MCP_AUTH_TOKEN и укажите Bearer <token> в заголовках запроса коннектора в поле authorization.
Переменные окружения
Переменная | Обязательная | По умолчанию | Примечания |
| да | — | Google Cloud Console, с включённым YouTube Data API v3 |
| нет | 3000 | Railway задаёт его |
| нет |
| Путь, на котором слушает MCP-эндпоint |
| нет | — | Если задан, каждый запрос требует |
| нет | Исользуется только для направления тестового набора на заглушку |
Заметки по дизайну
Без состояния. Каждый POST самодостаточен — ни Mcp-Session-Id, ни карты сессий, — поэтому перезапуск или вторая реплика никогда не приводят к ошибке "No valid session ID provided".
Согласование содержимого соответствует эталонному SDK: SSE-кадр, когда клиент отправляет Accept: text/event-stream, и обычное JSON-тело в остальных случаях.
GET и DELETE на /mcp возвращают 405 — именно этого ожидает спецификация Streamable HTTP от сервера без инициируемого сервером потока и без сессии, которую нужно закрывать.
Никакой проверки заголовка Origin и ни какой защиты от DNS-rebinding. Эти меры защиты предназначены для MCP-серверов, привязанных к localhost; если оставить их включёнными для публичного развёртывания, они будут отклонять собственные запросы Anthropic, что является частой причиной тайм-аутов initialize.
Сбои инструментов возвращаются как содержимое с isError: true, а не как JSON-RPC ошибки, поэтому Claude видит, что пошло не так, и может скорректировать действия, вмест того чтобы вызов завершался ошибкой на транспорном уровне.
Результаты обрезаются до 120k симоволов, что меньше огранчения claude.ai на результат инструмента — ~150k.
This server cannot be deployed
Maintenance
Related MCP Connectors
Search YouTube videos, read transcripts and get public video information in your AI assistant.
YouTube search, whole channels, video stats, comments and full transcripts with timestamps.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
YouTube transcripts, comments, video details, heatmaps, search, channels and playlists.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with YouTube through the YouTube Data API, allowing users to search for videos, playlists, and channels, generate video titles using AI, and manage YouTube content through natural language commands.22ISC
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search videos, read channels, browse playlists, fetch comments, and get transcripts from YouTube using the YouTube Data API v3 and InnerTube API for captions.2GPL 3.0
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search videos, channels, and playlists, retrieve video metadata, transcripts, and comments via the YouTube Data API v3.59 PyPI72MIT
- FlicenseNot gradedqualityBmaintenanceEnables searching and retrieving video transcripts, metadata, channel info, playlists, comments, trending videos, and engagement analytics from YouTube through natural language.14 npm-