Skip to main content
Glama
umsachde

ytmusic-mcp

by umsachde

ytmusic-mcp

Сервер MCP, который оборачивает ytmusicapi, чтобы Claude (или любой MCP-клиент) мог искать в YouTube Music, управлять вашими плейлистами и читать историю прослушивания.

Инструменты

Инструмент

Описание

search_music(query, filter=None, limit=20)

Искать в YouTube Music. filter — одно из: songs, videos, albums, artists, playlists, community_playlists, featured_playlists, profiles, podcasts, episodes.

get_playlists()

Список ваших плейлистов в библиотеке.

get_playlist_tracks(playlist_id)

Получить треки в плейлисте.

create_playlist(name, description="")

Создать новый приватный плейлист, возвращает его ID.

add_to_playlist(playlist_id, video_id)

Добавить трек в плейлист.

get_history()

Получить вашу недавнюю историю прослушивания.

Не включено (v1): Рекомендации на основе BPM. YouTube Music не предоставляет данные о темпе, поэтому для этого потребуется второй источник данных (например, API анализа аудио) — это задача на будущее, не входящая в текущую сборку.

Related MCP server: mcp-server-youtube

Настройка

1. Установка зависимостей

python3 -m venv .venv
source .venv/bin/activate
pip install -e .

2. Аутентификация

Официального API YouTube Music нет, поэтому ytmusicapi аутентифицируется, повторно используя заголовки из вашего сеанса браузера, в котором вы вошли.

  1. Откройте music.youtube.com в Firefox (рекомендуется — копирование сырых заголовков в нём надёжнее, чем в Chrome) будучи авторизованным.

  2. Откройте DevTools (Cmd+Option+I / F12) → вкладка Network → фильтр по browse.

  3. Нажмите на плейлист или перезагрузите страницу, чтобы вызвать POST-запрос browse.

  4. Нажмите на этот запрос → вкладка Headers → включите Raw headers → выделите и скопируйте весь блок.

  5. Вставьте его в новый файл с именем raw_headers.txt в корне проекта и сохраните.

  6. Запустите:

python scripts/setup_auth_from_file.py

Это создаст headers_auth.json и удалит raw_headers.txt.

Альтернативно, python scripts/setup_auth.py делает то же самое через интерактивный запрос в терминале вместо файла, если вы предпочитаете вставлять напрямую.

headers_auth.json эквивалентен вашему авторизованному сеансу — никогда не коммитьте и не делитесь им. Он уже добавлен в .gitignore.

Проверьте, что аутентификация работает, прежде чем продолжить:

python scripts/test_search.py

Эти заголовки периодически истекают/обновляются. Если инструменты начинают выдавать ошибку аутентификации, повторите этот шаг.

3. Добавление в Claude Code

claude mcp add ytmusic -s user \
  -e YTMUSIC_AUTH_PATH="$(pwd)/headers_auth.json" \
  -- "$(pwd)/.venv/bin/python" "$(pwd)/server.py"

-s user делает его доступным в любом сеансе Claude Code, а не только в этой директории. Используйте абсолютные пути для интерпретатора python, server.py и YTMUSIC_AUTH_PATH, так как сервер может быть запущен из любой рабочей директории.

Для других MCP-клиентов (Claude Desktop и т.д.) укажите им ту же команду и переменную окружения, используя соответствующий формат конфигурации.

Обработка ошибок

Вызовы инструментов преобразуют распространённые сбои в понятные сообщения вместо сырых трассировок:

  • Отсутствующая/просроченная/некорректная аутентификация → сообщает вам перезапустить scripts/setup_auth_from_file.py.

  • Ограничение частоты запросов (HTTP 429) → сообщает подождать и повторить.

  • Контент с ограниченным доступом → сообщается как недоступный, а не вызывает сбой.

  • Сетевые ошибки → сообщаются напрямую.

Лицензия

MIT — см. LICENSE.

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

  • YouTube MCP — wraps the YouTube Data API v3 (BYO API key)

  • Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…

  • YouTube transcripts, subtitles, and video metadata as structured JSON via an Apify Actor.

View all MCP Connectors

Latest Blog Posts

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/umsachde/ytmusic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server