Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Schema
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_all_device_states | Retrieve the state information for all discovered Sonos devices. Returns: List[Dict[str, Any]]: A list of dictionaries containing state information for each device. |
| now_playing | Retrieve information about currently playing tracks on all Sonos devices. Returns: List[Dict[str, str]]: A list of dictionaries containing the name, title, artist, and album of currently playing tracks. |
| get_device_state | Retrieve the state information for a specific Sonos device. Args: name: The name of the device to retrieve state information for. If None, uses the current device. Returns: Dict[str, Any]: A dictionary containing the device's name, volume, state, and current track information. |
| pause | Pause playback on a Sonos device. Args: name: The name of the device to pause. If None, uses the current device. Returns: Dict[str, Any]: The device's state after pausing, including name, volume, state, and track info. |
| stop | Stop playback on a Sonos device. Args: name: The name of the device to stop. If None, uses the current device. Returns: Dict[str, Any]: The device's state after stopping, including name, volume, state, and track info. |
| play | Start playback on a Sonos device. Args: name: The name of the device to start playback on. If None, uses the current device. Returns: Dict[str, Any]: The device's state after starting playback, including name, volume, state, and track info. |
| next | Skip to the next track on a Sonos device. Args: name: The name of the device to skip the track on. If None, uses the current device. Returns: Dict[str, Any]: The device's state after skipping to the next track, including name, volume, state, and track info. |
| previous | Skip to the previous track on a Sonos device. Args: name: The name of the device to skip the track on. If None, uses the current device. Returns: Dict[str, Any]: The device's state after skipping to the previous track, including name, volume, state, and track info. |
| get_queue | Retrieve the queue of tracks for a Sonos device. Args: name: The name of the device to retrieve the queue from. If None, uses the current device. Returns: List[Dict[str, Any]]: A list of dictionaries containing track information in the queue. |
| mode | Get or set the play mode of a Sonos device. Args: mode: The play mode to set (e.g., "NORMAL", "SHUFFLE_NOREPEAT", "SHUFFLE", "REPEAT_ALL"). If None, returns the current mode. name: The name of the device to set the mode for. If None, uses the current device. Returns: str: The current play mode after the operation. |
| partymode | Enable party mode on the current Sonos device. Returns: Dict[str, Any]: The device's state after enabling party mode, including name, volume, state, and track info. |
| speaker_info | Retrieve speaker information for a Sonos device. Args: name: The name of the device to retrieve speaker information from. If None, uses the current device. Returns: Dict[str, str]: A dictionary containing speaker information. |
| get_current_track_info | Retrieve current track information for a Sonos device. Args: name: The name of the device to retrieve track information from. If None, uses the current device. Returns: Dict[str, str]: A dictionary containing the current track's artist, title, album, playlist position, and duration. |
| volume | Get or set the volume of a Sonos device. Args: volume: The volume level to set (0-99). If None, returns current volume. name: The name of the device to control. If None, uses the current device. Returns: int: The current volume level after the operation. Raises: ValueError: If volume is not between 0 and 99. ValueError: If the specified device is not found. |
| skip | Skip tracks in the queue for a Sonos device. Args: increment: The number of tracks to skip forward. Defaults to 1. name: The name of the device to skip tracks on. If None, uses the current device. Returns: Dict[str, Any]: The device's state after skipping tracks, including name, volume, state, and track info. Raises: ValueError: If the new track position is out of the queue's range. |
| play_index | Play a specific track from the queue on a Sonos device. Args: index: The index of the track to play. name: The name of the device to play the track on. If None, uses the current device. Returns: Dict[str, Any]: The device's state after playing the specified track, including name, volume, state, and track info. Raises: ValueError: If the index is out of the queue's range. |
| remove_index_from_queue | Remove a specific track from the queue on a Sonos device. Args: index: The index of the track to remove. name: The name of the device to remove the track from. If None, uses the current device. Returns: List[Dict[str, Any]]: The updated queue after removing the track. Raises: ValueError: If the index is out of the queue's range. |
| get_queue_length | Retrieve the queue length for a Sonos device. Args: name: The name of the device to retrieve the queue length from. If None, uses the current device. Returns: int: The length of the queue. |