Tommertom/sonos-ts-mcp

Tommertom/sonos-ts-mcp

от tommertom
MCP сервер для управления устройствами Sonos через UPnP/SOAP. Контролируйте воспроизведение, громкость, очереди, зоны и будильники прямо из AI-ассистента. Идеально для автоматизации умного дома и н...

Sonos TypeScript MCP Server

Your comprehensive Sonos control companion powered by the Model Context Protocol (MCP). This intelligent server provides seamless access to Sonos audio devices over your local network using UPnP/SOAP protocols. Whether you're controlling playback, managing zones, browsing your music library, or setting up alarms, this MCP server delivers complete device control directly to your AI assistant, enabling smart home automation and better audio experiences.

Specifically designed for coding agents and AI-driven home audio automation workflows. This server enables AI assistants to build intelligent multi-room audio experiences, music library management, zone grouping, queue management, and integration with smart home platforms.

Data is sourced from real-time UPnP/SOAP communication with Sonos devices to ensure accuracy and completeness.

📊 Feature Status: Phase 4 complete! Implements real-time event subscriptions with UPnP GENA protocol for playback, volume, queue, and topology changes. See Phase 4 completion for details.

Инструменты были проиндексированы:
sonos_add_device

Вручную добавьте устройство Sonos по IP-адресу. Используйте, когда обнаружение SSDP не удается из-за сетевых ограничений или правил брандмауэра. Устройство должно быть доступно по сети на порту 1400.

Параметры
  • ipstringобязательный

    IP address of the Sonos device (e.g., "192.168.1.150")

  • namestring

    Optional friendly name for the device

  • portnumber

    Port number (default: 1400)

sonos_add_to_queue

Добавляет URI трека в очередь воспроизведения. Поддерживает URI из музыкальной библиотеки и стриминговых сервисов. Опциональные метаданные в формате DIDL-Lite XML.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • metadatastring

    Optional DIDL-Lite metadata XML

  • playNextboolean

    Add as next track to play

  • positionnumber

    Insert at specific position (1-based), or append if not specified

  • uristringобязательный

    Track URI (e.g., x-file-cifs://..., x-sonos-spotify:...)

sonos_browse_albums

Просматривает альбомы в музыкальной библиотеке. Поддерживает постраничную навигацию для больших коллекций.

Параметры
  • countnumber

    Number of items to return (default: 100)

  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • startIndexnumber

    Starting index for pagination (default: 0)

sonos_browse_artists

Просматривает исполнителей в музыкальной библиотеке. Поддерживает постраничную навигацию для больших коллекций.

Параметры
  • countnumber

    Number of items to return (default: 100)

  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • startIndexnumber

    Starting index for pagination (default: 0)

sonos_browse_genres

Обзор музыкальных жанров в библиотеке. Поддерживает постраничную навигацию для больших коллекций.

Параметры
  • countnumber

    Number of items to return (default: 100)

  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • startIndexnumber

    Starting index for pagination (default: 0)

sonos_browse_item

Просматривает конкретный элемент библиотеки и получает его дочерние элементы. Например, получает альбомы для исполнителя или треки для альбома.

Параметры
  • countnumber

    Number of items to return (default: 100)

  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • objectIdstringобязательный

    Object ID from a previous browse or search result

  • startIndexnumber

    Starting index for pagination (default: 0)

sonos_browse_music_service

Просмотр контента музыкального сервиса. ВНИМАНИЕ: большинство сервисов (особенно Sonos Radio, Spotify, Apple Music) требуют аутентификации и вернут пустые результаты или ошибки, если не аутентифицированы. Сначала проверьте authType из sonos_list_music_services. Только сервисы с типом "Anonymous" (например, SomaFM Radio) гарантированно работают. Вместо этого используйте sonos_get_favorite_radio_stations для предварительно настроенных радиостанций.

Параметры
  • containerIdstring

    Container ID to browse. Use "root" to start from the top level, or use an ID returned from a previous browse call.

  • countnumber

    Maximum number of items to return

  • deviceIdstringобязательный

    Device ID to use for browsing

  • serviceNamestringобязательный

    Name of the music service (e.g., "Sonos Radio", "TuneIn", "Spotify")

  • startIndexnumber

    Starting index for pagination

sonos_browse_playlists

Просмотр плейлистов Sonos. Поддерживает пагинацию для больших коллекций.

Параметры
  • countnumber

    Number of items to return (default: 100)

  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • startIndexnumber

    Starting index for pagination (default: 0)

sonos_browse_tracks

Просматривает все треки в музыкальной библиотеке. Поддерживает постраничную навигацию для больших коллекций.

Параметры
  • countnumber

    Number of items to return (default: 100)

  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • startIndexnumber

    Starting index for pagination (default: 0)

sonos_cancel_sleep_timer

Отмени активный таймер сна.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_clear_queue

Удаляет все треки из очереди. Не останавливает текущее воспроизведение.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_create_alarm

Создаёт новый будильник с указанным временем, днями, источником музыки и настройками. Возвращает идентификатор будильника.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • durationstring

    Duration in HH:MM:SS (default: 02:00:00)

  • enabledboolean

    Enable alarm (default: true)

  • recurrencestringобязательный

    DAILY, ONCE, WEEKDAYS, WEEKENDS, or ON_0123456 (0=Sunday)

  • startTimestringобязательный

    Start time in HH:MM:SS format (e.g., "07:00:00")

  • volumenumber

    Alarm volume (0-100, default: 25)

sonos_delete_alarm

Безвозвратно удаляет существующую тревогу.

Параметры
  • alarmIdstringобязательный

    Alarm ID to delete

  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_discover

Активно сканируй сеть в поиске устройств Sonos через SSDP. Всегда вызывай это, когда инструмент sonos_list_devices возвращает пустой результат или ты не находишь какое-то устройство. Возвращает UUID устройства, IP-адрес, название комнаты, модель и версию прошивки. Для общения с пользователем используй название комнаты.

Параметры
  • timeoutnumber

    Discovery timeout in milliseconds (5000-10000 recommended)

sonos_get_eq

Получить текущие настройки эквалайзера, включая бас, высокие частоты и громкость.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_get_favorite_radio_stations

Получает избранные радиостанции из списка избранного Sonos. Возвращает список сохранённых радиостанций с их метаданными и URI потоковой передачи.

Параметры
  • countnumber

    Number of items to return (default: 100)

  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • startIndexnumber

    Starting index for pagination (default: 0)

sonos_get_music_service_item_uri

Получает воспроизводимый URI потока для конкретного элемента музыкального сервиса. Это полезно для отладки или проверки фактического URL потока.

Параметры
  • deviceIdstringобязательный

    Device ID to use for the request

  • itemIdstringобязательный

    Item ID to get the URI for

  • serviceNamestringобязательный

    Name of the music service

sonos_get_playback_state

Получает текущие настройки воспроизведения: перемешивание, повтор, перекрестное затухание, состояние транспорта и скорость.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_get_position_info

Получить информацию о текущем треке, его позицию и продолжительность. Включает метаданные трека: название, исполнитель, альбом.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_get_queue

Извлекает текущую очередь воспроизведения с информацией о треках. Поддерживает постраничную выдачу для больших очередей.

Параметры
  • countnumber

    Number of tracks to retrieve

  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • startIndexnumber

    Starting index for pagination (0-based)

sonos_get_sleep_timer

Получить оставшуюся длительность таймера сна. Возвращает пустое значение, если таймер не активен.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_get_transport_info

Получить текущее состояние проигрывателя (воспроизведение, пауза, остановка) и скорость воспроизведения.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_get_volume

Получить текущий уровень громкости с устройства Sonos.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_get_zone_groups

Получить топологию группы зон, показывающую, какие устройства сгруппированы вместе и их координатора.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_join_group

Присоединить устройство к группе другого устройства для синхронизированного воспроизведения в нескольких комнатах. Устройство будет следовать воспроизведению ведущего.

Параметры
  • deviceIdstringобязательный

    Device to join from (room name, UUID, or IP)

  • masterDeviceIdstringобязательный

    Master/coordinator device (room name, UUID, or IP)

sonos_list_alarms

Перечисли все настроенные будильники, включая их расписание, статус включения и назначенные комнаты.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_list_devices

Вывести список устройств, находящихся в реестре. Примечание: сначала вызовите sonos_discover, чтобы заполнить реестр, если устройство не найдено в текущем реестре. Возвращает UUID, IP-адрес, название комнаты, модель и версию ПО зарегистрированных устройств. Используйте название комнаты для общения с пользователем.

Параметры

Без параметров.

sonos_list_music_services

Перечисляет все доступные музыкальные сервисы (Sonos Radio, TuneIn, Spotify и другие), зарегистрированные в системе Sonos. Возвращает детали сервиса: название, ID и тип аутентификации. ВАЖНО: большинство сервисов требуют аутентификацию (authType: DeviceLink или AppLink) и не будут работать, пока пользователь не привяжет свою учётную запись через приложение Sonos. Только сервисы с типом "Anonymous" работают без аутентификации.

Параметры
  • deviceIdstringобязательный

    Device ID to query for available services

sonos_list_subscriptions

Вывести список всех активных подписок на события для устройства, включая ID подписок и службы.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_next

Перейти к следующему треку в очереди.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_party_mode

Присоединяет все обнаруженные устройства к указанному устройству для создания единой аудиосистемы по всему дому.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address (will become group coordinator)

sonos_pause

Ставит воспроизведение на паузу на устройстве Sonos. Сохраняет текущую позицию в треке и очереди, чтобы быстро возобновить. Если устройство в группе, пауза применяется ко всей группе.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_play

Запускает или возобновляет воспроизведение на устройстве Sonos. Продолжает с текущей позиции очереди и учитывает настройки громкости. Если устройство находится в группе, влияет на всю группу.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_play_from_queue

Начать воспроизведение из очереди с определённой позиции.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • positionnumberобязательный

    Track position to start playing from (1-based)

sonos_play_music_service_item

Воспроизводит конкретный элемент из музыкального сервиса, например радиостанцию, трек, альбом или плейлист. Используйте идентификатор элемента из результатов просмотра или поиска.

Параметры
  • deviceIdstringобязательный

    Device ID where playback should start

  • itemIdstringобязательный

    Item ID to play (from browse or search results)

  • itemTitlestring

    Optional title of the item for metadata

  • serviceNamestringобязательный

    Name of the music service (e.g., "Sonos Radio", "TuneIn")

sonos_previous

Перейти к предыдущему треку или перезапустить текущий, если он проигрывался дольше нескольких секунд.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_remove_from_queue

Удаляет трек из очереди по указанной позиции.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • positionnumberобязательный

    Track position to remove (1-based)

sonos_restore_snapshot

Восстанавливает ранее сохраненный снимок, чтобы вернуть устройство в зафиксированное состояние. При необходимости плавно повышает громкость.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • fadeboolean

    Fade volume up on restore (default: false)

  • snapshotstringобязательный

    JSON string of the snapshot to restore

sonos_save_queue

Сохраняет текущую очередь как плейлист Sonos с указанным названием.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • titlestringобязательный

    Playlist title

sonos_search_library

Ищет в музыкальной библиотеке по исполнителю, альбому, треку или жанру. Возвращает подходящие результаты.

Параметры
  • countnumber

    Number of items to return (default: 100)

  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • searchTermstringобязательный

    Search term

  • searchTypeenumобязательный

    Type of content to search

  • startIndexnumber

    Starting index for pagination (default: 0)

sonos_search_music_service

Ищет контент в музыкальном сервисе. ПРЕДУПРЕЖДЕНИЕ: Для большинства сервисов требуется аутентификация. Вернёт ошибки, если сервис требует аутентификации через DeviceLink или AppLink, а пользователь не связал свою учётную запись в приложении Sonos. Для радио-контента предпочтительнее sonos_get_favorite_radio_stations.

Параметры
  • countnumber

    Maximum number of results to return

  • deviceIdstringобязательный

    Device ID to use for searching

  • querystringобязательный

    Search query (e.g., "BBC Radio 1", "rock music", "jazz")

  • serviceNamestringобязательный

    Name of the music service to search (e.g., "Sonos Radio", "TuneIn")

  • startIndexnumber

    Starting index for pagination

sonos_set_bass

Установите уровень эквалайзера для басов. Диапазон: от -10 (ослабление басов) до +10 (усиление басов).

Параметры
  • bassnumberобязательный

    Bass level (-10 to 10)

  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_set_crossfade

Включить или отключить перекрёстное затухание между треками. Перекрёстное затухание создаёт плавные переходы между песнями.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • enabledbooleanобязательный

    True to enable crossfade, false to disable

sonos_set_dialog_mode

Улучшение диалогов для устройств домашнего кинотеатра. Повышает четкость речи в фильмах и телешоу.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • enabledbooleanобязательный

    True to enable dialog enhancement, false to disable

sonos_set_loudness

Включить или отключить компенсацию громкости. Компенсация громкости усиливает басы и высокие частоты на низкой громкости, улучшая качество звука.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • enabledbooleanобязательный

    True to enable loudness, false to disable

sonos_set_mute

Отключить или включить звук на устройстве Sonos. Отключение звука сохраняет уровень громкости для быстрого включения.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • mutebooleanобязательный

    True to mute, false to unmute

sonos_set_night_mode

Устанавливает ночной режим для устройств домашнего кинотеатра. Уменьшает громкие звуки и усиливает тихие для просмотра поздно ночью.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • enabledbooleanобязательный

    True to enable night mode, false to disable

sonos_set_repeat

Устанавливает режим повтора для воспроизведения очереди. Варианты: off (без повтора), all (повтор всей очереди), one (повтор текущего трека).

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • modeenumобязательный

    Repeat mode

sonos_set_shuffle

Включить или выключить перемешивание при воспроизведении очереди.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • shufflebooleanобязательный

    True to enable shuffle, false to disable

sonos_set_sleep_timer

Устанавливает таймер сна, чтобы автоматически остановить воспроизведение через указанную длительность. Формат: ЧЧ:ММ:СС (например, "00:30:00" для 30 минут).

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • durationstringобязательный

    Duration in HH:MM:SS format (e.g., "00:30:00" for 30 minutes)

sonos_set_treble

Устанавливает уровень высоких частот эквалайзера. Диапазон: от -10 (уменьшение высоких) до +10 (усиление высоких).

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • treblenumberобязательный

    Treble level (-10 to 10)

sonos_set_volume

Устанавливает уровень громкости на устройстве Sonos. Диапазон: от 0 (тишина) до 100 (максимум). Влияет на всю группу, если устройство сгруппировано.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • volumenumberобязательный

    Volume level (0-100)

sonos_snapshot

Делает снимок текущего состояния устройства, включая воспроизведение, громкость и настройки EQ. Возвращает данные снимка для последующего восстановления.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_stop

Останавливает воспроизведение на устройстве Sonos. Сбрасывает состояние воспроизведения, в отличие от паузы, которая сохраняет позицию.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_subscribe_events

Подпишитесь на события в реальном времени от сервиса устройства Sonos, чтобы автоматически получать уведомления об изменениях состояния.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • serviceenumобязательный

    Service name to subscribe to

  • timeoutnumber

    Subscription timeout in seconds (default: 1800 = 30 minutes)

sonos_unjoin

Удалить устройство из его текущей группы, сделав его самостоятельным плеером.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_unsubscribe_all

Отписаться от всех активных подписок на события для конкретного устройства.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

sonos_unsubscribe_events

Отписаться от конкретной подписки на событие, чтобы перестать получать уведомления.

Параметры
  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • subscriptionIdstringобязательный

    Subscription ID (SID) to unsubscribe from

sonos_update_alarm

Обновляет существующую тревогу. Изменяются только указанные поля.

Параметры
  • alarmIdstringобязательный

    Alarm ID to update

  • deviceIdstringобязательный

    Room name, UUID, or IP address

  • enabledboolean

    Enable/disable alarm

  • recurrencestring

    DAILY, ONCE, WEEKDAYS, WEEKENDS, or ON_0123456

  • startTimestring

    Start time in HH:MM:SS format

  • volumenumber

    Alarm volume (0-100)

Похожие MCP-сервера

apiarya/wemo-mcp-server

apiarya/wemo-mcp-server

MCP сервер для управления устройствами WeMo через естественный язык. AI-ассистенты сканируют сеть, управляют питанием и яркостью, получают статус. Автоматизация умного дома без программирования.

Python1
voska/hass-mcp

voska/hass-mcp

MCP сервер для Home Assistant подключает Claude и другие LLM к вашему умному дому: управляйте устройствами, проверяйте датчики, запускайте автоматизации через текстовые команды.

Python340
allenporter/mcp-server-home-assistant

allenporter/mcp-server-home-assistant

MCP инструмент для Home Assistant: управляй умным домом через ИИ-ассистентов. Настройка через long-lived токен и конфиг-файл. Автоматизируй сценарии, управляй устройствами и следи за событиями.

Python68
Hybirdss/smartest-tv

Hybirdss/smartest-tv

MCP-сервер для управления телевизором из терминала: запускай Netflix, YouTube, Spotify по названию, отправляй ссылки, управляй очередью и многокомнатным аудио. 21 инструмент для AI-консьержа — просто скажи Claude, что включить.

Python47
0x1abin/matter-controller-mcp

0x1abin/matter-controller-mcp

MCP-сервер для управления умным домом по протоколу Matter. Помогает находить, подключать и управлять светом, выключателями и датчиками. Поддерживает диммирование, цвет, а также чтение и запись атри...

JavaScript8
Tommertom/plugwise-mcp

Tommertom/plugwise-mcp

MCP-сервер для управления умным домом Plugwise: автоматически находит хабы в сети, управляет термостатами, розетками и мониторит энергопотребление. Поддерживает несколько шлюзов одновременно и инте...

TypeScript2
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин