Sonos MCP Server

Sonos MCP Server

site icon
2025.04.07 0
Python音乐播放控制家庭娱乐系统娱乐功能
Sonos MCP Server 是一个用于控制和与网络上的 Sonos 设备交互的服务器。它提供了多种功能,包括发现设备、控制播放、检索设备状态和管理播放队列。
View on GitHub

Overview

基本能力

产品定位

Sonos MCP Server 是一个用于控制和与 Sonos 设备交互的服务器,适用于家庭娱乐和音乐播放场景。

核心功能

  • 发现网络上的 Sonos 设备
  • 检索和控制设备的播放状态
  • 管理播放队列
  • 提供多种 MCP 工具用于交互

适用场景

  • 家庭娱乐系统控制
  • 多房间音乐播放管理
  • 自动化音乐播放控制

工具列表

  • get_all_device_states: 检索所有发现的 Sonos 设备的状态信息。
  • now_playing: 检索所有 Sonos 设备当前播放的曲目信息。
  • get_device_state: 检索特定 Sonos 设备的状态信息。
  • pause, stop, play: 控制 Sonos 设备的播放。
  • next, previous: 跳过 Sonos 设备上的曲目。
  • get_queue, get_queue_length: 管理 Sonos 设备的播放队列。
  • mode: 获取或设置 Sonos 设备的播放模式。
  • partymode: 在当前 Sonos 设备上启用派对模式。
  • speaker_info: 检索 Sonos 设备的扬声器信息。
  • get_current_track_info: 检索 Sonos 设备当前曲目的信息。
  • volume: 获取或设置 Sonos 设备的音量。
  • skip, play_index, remove_index_from_queue: 管理 Sonos 设备队列中的曲目。

常见问题解答

使用教程

使用依赖

  • Python 3.7+
  • uv 用于管理 Python 项目

安装教程

  1. 克隆仓库: bash git clone https://github.com/WinstonFassett/sonos-mcp-server.git cd sonos-mcp-server

  2. 使用 uv 安装依赖: bash uv sync

调试方式

Stdio

运行服务器:

uv run mcp run server.py

SSE with Supergateway

使用 supergateway 工具运行服务器:

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

或使用仓库提供的便利脚本:

./npx-serve-sse-8000.sh

开发模式

运行服务器并启动 MCP Inspector:

uv run mcp dev server.py

使用 SSE 运行服务器并在另一个终端运行 MCP Inspector:

npx @modelcontextprotocol/inspector

许可证

该项目遵循 MIT 开源许可条款。