Skip to main content

Sonos MCP Server

This project is a Sonos MCP (Model Context Protocol) server that allows you to control and interact with Sonos devices on your network. It provides various functionalities such as discovering devices, controlling playback, retrieving device states, and managing queues.

Features

  • Discover Sonos devices on the network
  • Retrieve and control playback state for devices
  • Manage playback queues
  • Expose functionalities as MCP tools

Requirements

  • Python 3.7+
  • uv for managing Python projects

Installation

  1. Clone the repository:

    git clone https://github.com/WinstonFassett/sonos-mcp-server.git
    cd sonos-mcp-server
    
  2. Install the required dependencies using uv:

    uv sync
    

Usage

Running the Server

Stdio

Run the server using stdio:

uv run mcp run server.py

SSE with Supergateway

Run the server with SSE using the supergateway tool:

npx -y supergateway --port 8000 --stdio "uv run mcp run server.py"

Alternatively, you can use the convenience script provided in the repository:

./npx-serve-sse-8000.sh

Development

To run the server in "development" mode with the MCP Inspector:

uv run mcp dev server.py

This command hosts an MCP Inspector for testing and debugging purposes.

To run the server with SSE in development mode, use the SSE command for supergateway, and in a second terminal windor run:

npx @modelcontextprotocol/inspector

Available MCP Tools

Use the exposed MCP tools to interact with Sonos devices. The available tools include:

  • get_all_device_states: Retrieve the state information for all discovered Sonos devices.
  • now_playing: Retrieve information about currently playing tracks on all Sonos devices.
  • get_device_state: Retrieve the state information for a specific Sonos device.
  • pause, stop, play: Control playback on a Sonos device.
  • next, previous: Skip tracks on a Sonos device.
  • get_queue, get_queue_length: Manage the playback queue for a Sonos device.
  • mode: Get or set the play mode of a Sonos device.
  • partymode: Enable party mode on the current Sonos device.
  • speaker_info: Retrieve speaker information for a Sonos device.
  • get_current_track_info: Retrieve current track information for a Sonos device.
  • volume: Get or set the volume of a Sonos device.
  • skip, play_index, remove_index_from_queue: Manage tracks in the queue for a Sonos device.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Metadata

Release files for iflow-mcp_sonos-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iflow-mcp_sonos-mcp-server 0.1.0
File Size Uploaded
iflow_mcp_sonos_mcp_server-0.1.0.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_sonos-mcp-server 0.1.0
File Interpreter ABI Platform
iflow_mcp_sonos_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.9 kB

Release files / iflow_mcp_sonos_mcp_server-0.1.0.tar.gz

Download URL iflow_mcp_sonos_mcp_server-0.1.0.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a212b7ed5542562b7ffe60108ef9b58bb003997885bc34b8570cb1df1265e883
BLAKE2b-256 checksum
How to use checksums
919907da469e584c80ef0e8c2b162e7005233ad21a1e5c97f850bc5105ec38f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / iflow_mcp_sonos_mcp_server-0.1.0-py3-none-any.whl

Download URL iflow_mcp_sonos_mcp_server-0.1.0-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ed72d06d9cd52cfa5808b955475e19dbf7417b1641eacf5de0b913d49f03517
BLAKE2b-256 checksum
How to use checksums
d00235d799dba084a47e4a454df75336f3699b21938ddfe051e9533c4362f8aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page