sonos-ts-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sonos_discoverA | Actively scan the network for Sonos devices using SSDP. Always call this when the sonos_list_devices tool returns empty or you are missing a device. Returns device UUID, IP address, room name, model, and firmware version. Use room name to communicate with the user. |
| sonos_add_deviceA | Manually add a Sonos device by IP address. Use when SSDP discovery fails due to network restrictions or firewall rules. Device must be network-accessible on port 1400. |
| sonos_list_devicesA | List devices currently in the registry. Note: Call sonos_discover first to populate the registry if a device is not found in the current registry. Returns UUID, IP address, room name, model, and software version of registered devices. Use room name to communicate with the user. |
| sonos_playA | Start or resume playback on a Sonos device. Continues from current queue position and respects volume settings. If device is in a group, affects entire group. |
| sonos_pauseA | Pause playback on a Sonos device. Maintains current position in track and queue for quick resume. If device is in a group, affects entire group. |
| sonos_stopA | Stop playback on a Sonos device. Clears playback state, unlike pause which maintains position. |
| sonos_nextA | Skip to next track in the queue. |
| sonos_previousA | Skip to previous track or restart current track if played more than a few seconds. |
| sonos_get_transport_infoB | Get current transport state (playing, paused, stopped) and playback speed. |
| sonos_get_position_infoB | Get current track information, position, and duration. Includes track metadata like title, artist, album. |
| sonos_get_queueA | Retrieve the current playback queue with track information. Supports pagination for large queues. |
| sonos_add_to_queueC | Add a track URI to the playback queue. Supports music library URIs and streaming service URIs. Optional metadata in DIDL-Lite XML format. |
| sonos_remove_from_queueA | Remove a track from the queue at the specified position. |
| sonos_clear_queueA | Remove all tracks from the queue. Does not stop current playback. |
| sonos_play_from_queueB | Start playing from the queue at a specific position. |
| sonos_save_queueB | Save the current queue as a Sonos playlist with the specified title. |
| sonos_set_shuffleB | Enable or disable shuffle mode for queue playback. |
| sonos_set_repeatA | Set repeat mode for queue playback. Options: off (no repeat), all (repeat entire queue), one (repeat current track). |
| sonos_set_crossfadeB | Enable or disable crossfade between tracks. Crossfade creates smooth transitions between songs. |
| sonos_get_playback_stateA | Get current playback settings including shuffle, repeat, crossfade, transport state, and speed. |
| sonos_set_volumeA | Set volume level on a Sonos device. Range: 0 (silent) to 100 (maximum). Affects entire group if device is grouped. |
| sonos_get_volumeB | Get current volume level from a Sonos device. |
| sonos_set_muteA | Mute or unmute a Sonos device. Mute preserves volume level for quick unmute. |
| sonos_set_bassA | Set bass EQ level. Range: -10 (reduced bass) to +10 (enhanced bass). |
| sonos_set_trebleA | Set treble EQ level. Range: -10 (reduced treble) to +10 (enhanced treble). |
| sonos_set_loudnessA | Enable or disable loudness compensation. Loudness boosts bass and treble at low volumes for better sound quality. |
| sonos_get_eqA | Get current EQ settings including bass, treble, and loudness. |
| sonos_set_night_modeA | Set night mode for home theater devices. Reduces loud sounds and enhances quiet sounds for late-night viewing. |
| sonos_set_dialog_modeA | Set dialog enhancement for home theater devices. Enhances speech clarity in movies and TV shows. |
| sonos_get_zone_groupsA | Get zone group topology showing which devices are grouped together and their coordinator. |
| sonos_join_groupA | Join a device to another device's group for synchronized multi-room playback. The device will follow the master's playback. |
| sonos_unjoinA | Remove a device from its current group, making it a standalone player. |
| sonos_party_modeA | Join all discovered devices to the specified device to create a whole-house audio experience. |
| sonos_browse_artistsB | Browse artists in the music library. Supports pagination for large collections. |
| sonos_browse_albumsB | Browse albums in the music library. Supports pagination for large collections. |
| sonos_browse_tracksB | Browse all tracks in the music library. Supports pagination for large collections. |
| sonos_browse_genresA | Browse music genres in the library. Supports pagination for large collections. |
| sonos_browse_playlistsB | Browse Sonos playlists. Supports pagination for large collections. |
| sonos_get_favorite_radio_stationsA | Get favorite radio stations from Sonos favorites. Returns a list of saved radio stations with their metadata and streaming URIs. |
| sonos_search_libraryB | Search the music library by artist, album, track, or genre. Returns matching items. |
| sonos_browse_itemA | Browse a specific library item to get its children. For example, get albums for an artist or tracks for an album. |
| sonos_list_alarmsA | List all configured alarms including their schedule, enabled status, and room assignments. |
| sonos_create_alarmB | Create a new alarm with specified time, days, music source, and settings. Returns the alarm ID. |
| sonos_update_alarmB | Update an existing alarm. Only specified fields will be changed. |
| sonos_delete_alarmA | Delete an existing alarm permanently. |
| sonos_set_sleep_timerA | Set a sleep timer to automatically stop playback after the specified duration. Format: HH:MM:SS (e.g., "00:30:00" for 30 minutes). |
| sonos_get_sleep_timerA | Get remaining sleep timer duration. Returns empty if no timer is active. |
| sonos_cancel_sleep_timerB | Cancel the active sleep timer. |
| sonos_snapshotA | Take a snapshot of current device state including playback, volume, and EQ settings. Returns snapshot data for later restoration. |
| sonos_restore_snapshotA | Restore a previously saved snapshot to return device to its captured state. Optionally fade in volume. |
| sonos_subscribe_eventsB | Subscribe to real-time events from a Sonos device service to receive automatic notifications of state changes. |
| sonos_unsubscribe_eventsA | Unsubscribe from a specific event subscription to stop receiving notifications. |
| sonos_unsubscribe_allA | Unsubscribe from all active event subscriptions for a specific device. |
| sonos_list_subscriptionsA | List all active event subscriptions for a device including subscription IDs and services. |
| sonos_list_music_servicesA | List all available music services (Sonos Radio, TuneIn, Spotify, etc.) registered with the Sonos system. Returns service details including name, ID, and authentication type. IMPORTANT: Most services require authentication (authType: DeviceLink or AppLink) and will not work unless the user has linked their account through the Sonos app. Only "Anonymous" services work without authentication. |
| sonos_browse_music_serviceA | Browse content from a music service. WARNING: Most services (especially Sonos Radio, Spotify, Apple Music) require authentication and will return empty results or errors if not authenticated. Check authType from sonos_list_music_services first. Only "Anonymous" services (like SomaFM Radio) are guaranteed to work. Use sonos_get_favorite_radio_stations instead for pre-configured radio stations. |
| sonos_search_music_serviceA | Search for content within a music service. WARNING: Requires authentication for most services. Will return errors if the service requires DeviceLink or AppLink authentication and the user has not linked their account in the Sonos app. Prefer sonos_get_favorite_radio_stations for radio content. |
| sonos_play_music_service_itemA | Play a specific item from a music service such as a radio station, track, album, or playlist. Use the item ID from browse or search results. |
| sonos_get_music_service_item_uriA | Get the playable streaming URI for a specific music service item. This is useful for debugging or inspecting the actual stream URL. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| sonos-agent-instructions | Instructions for AI agents on how to properly control Sonos devices using the MCP tools |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/Tommertom/sonos-ts-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server