yt-playlist-organizer-mcp
yt-playlist-organizer-mcp
MCP-сервер для организации плейлистов YouTube через YouTube Data API v3.
Он делает ровно одну вещь и ничего больше: создаёт, перечисляет, обновляет и удаляет плейлисты и их элементы. Он не касается видео, каналов, субтитров, комментариев, подписок или любых других ресурсов YouTube Data API.
Создан с использованием официального @modelcontextprotocol/sdk
и REST-эндпоинтов YouTube Data API v3 (без тяжёлой зависимости googleapis).
Инструменты
Всё, что делает этот сервер. Других инструментов нет.
Плейлисты (/playlists)
Инструмент | HTTP | Квота | Описание |
| GET | 1 | Перечисляет плейлисты по |
| POST | 50 | Создаёт плейлист (требуется |
| PUT | 50 | Изменяет плейлист (требуется |
| DELETE | 50 | Удаляет плейлист (требуется |
Элементы плейлистов (/playlistItems)
Инструмент | HTTP | Квота | Описание |
| GET | 1 | Перечисляет элементы по |
| POST | 50 | Добавляет |
| PUT | 50 | Изменяет элемент плейлиста (например, его |
| DELETE | 50 | Удаляет элемент плейлиста (требуется |
Плюс auth_status для проверки, какие учётные данные настроены.
Related MCP server: youtube-mcp
Конфигурация
Этот сервер вызывает только эндпоинты /playlists и /playlistItems.
Остальная часть YouTube Data API вне области действия.
Сервер считывает две переменные окружения:
Переменная | Назначение |
| Ключ Google API. Включает публичные чтения ( |
| OAuth2-токен доступа. Требуется для инструментов записи и |
См. .env.example.
Чтения (
..._list) работают только с ключом API (или токеном доступа).Записи (
insert/update/delete) иmine=trueтребуют OAuth2-токен доступа с областямиyoutube,youtube.force-sslилиyoutubepartner.
Получение учётных данных OAuth2
Создайте проект в Google Cloud Console.
Включите YouTube Data API v3.
Создайте идентификатор клиента OAuth2 (Desktop app) и скачайте JSON.
Обменяйте учётные данные на токен доступа (например, через
google-auth-oauthlibна Python или локальный сервис OAuth-потока). УстановитеYOUTUBE_ACCESS_TOKEN=<token>.(Необязательно) Создайте ключ API для более простого использования только для чтения.
Nix
Этот проект дружелюбен к NixOS. Предоставлены и flake, и shell.nix.
# Enter the dev shell (node + typescript toolchain)
nix develop
# or, non-flake:
nix-shellСборка
npm install # install node deps (zod + MCP SDK)
npm run build # emits dist/
npm run typecheck # tsc --noEmitЛокальный запуск
# Reads only (API key):
YOUTUBE_API_KEY=... node dist/index.js
# Reads + writes/mine (OAuth access token):
YOUTUBE_ACCESS_TOKEN=... node dist/index.jsПодключение к opencode
Добавьте следующее в ~/.config/opencode/opencode.jsonc в раздел mcp:
"mcp": {
"yt-playlist-organizer-mcp": {
"type": "local",
"command": ["node", "<path-to-repo>/dist/index.js"],
"enabled": true,
"environment": {
"YOUTUBE_API_KEY": "{file:~/.secrets/yt-api-key}",
"YOUTUBE_ACCESS_TOKEN": "{file:~/.secrets/yt-access-token}"
}
}
}Замените <path-to-repo> на абсолютный путь, куда вы клонировали репозиторий, или
установите его через npm, чтобы запускать по имени:
npm install -g .
# then use: "command": ["yt-playlist-organizer-mcp"]Чтобы запустить через Nix shell, используйте тот же ключ, но измените command:
"command": ["nix", "develop", "<path-to-repo>", "--command", "node", "dist/index.js"],Примечания
Стоимость квоты указана согласно официальной документации API и задокументирована для каждого инструмента.
Значения
partпроверяются на соответствие допустимым наборам для каждого ресурса.playlists_list/playlistItems_listтребуют ровно один параметр фильтра; в противном случае проверка входных данных отклоняет вызов.Инструменты обновления (
playlists_update,playlistItems_update) сначала читают существующий ресурс и сохраняют все опущенные поля (например,description,privacyStatus,position,contentDetails), а не очищают их. Поэтому каждое обновление стоит дополнительного чтения из вашей квоты.startAt/endAtуказываются в секундах и преобразуются в длительности ISO 8601 (PT1M30S) перед отправкой в API.
Разработка
npm install
npm test # vitest unit tests
npm run typecheck
npm run buildЛицензия
MIT
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
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with the YouTube Data API, allowing users to search videos, get video and channel details, analyze trends, and fetch video transcripts.
- FlicenseBqualityCmaintenanceMCP server for YouTube Data API v3 enabling video search, channel lookup, trending content, comments, and playlist management.11
- FlicenseNot gradedqualityBmaintenanceAn MCP server for managing YouTube Music playlists via Claude. Add and remove songs, create playlists, and ask Claude to suggest music — all through conversation.
- FlicenseNot gradedqualityCmaintenanceA simple MCP server to manage YouTube playlists built in TypeScript.
Related MCP Connectors
YouTube MCP — wraps the YouTube Data API v3 (BYO API key)
MCP server for generating rough-draft project plans from natural-language prompts.
A MCP server built for developers enabling Git based project management with project and personal…
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/Thib-ai/yt-playlist-organizer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server