Cover image
Try Now
2025-04-07

3 years

Works with Finder

1

Github Watches

1

Github Forks

0

Github Stars

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.

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Lists Tailwind CSS classes in monospaced font

  • lumpenspace
  • Take an adjectivised noun, and create images making it progressively more adjective!

  • Yasir Eryilmaz
  • AI scriptwriting assistant for short, engaging video content.

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

  • jae-jae
  • MCP server for fetch web page content using Playwright headless browser.

    Reviews

    2 (1)
    Avatar
    user_sLK4AHzX
    2025-04-16

    As a loyal user of the sonos-mcp-server, I am thoroughly impressed with its seamless integration and robust performance. WinstonFassett has truly crafted a masterpiece that simplifies Sonos device management. Highly recommend checking it out at https://github.com/WinstonFassett/sonos-mcp-server for anyone looking to enhance their audio experience.