本项目是一个 Sonos MCP(模型上下文协议)服务器,可让您对网络中的 Sonos 设备进行控制和交互。它具备设备发现、播放状态控制、设备状态检索以及队列管理等多种实用功能。
本 Sonos MCP 服务器能助力您轻松控制和与网络中的 Sonos 设备交互。以下为您详细介绍使用步骤。
uv
用于管理 Python 项目git clone https://github.com/WinstonFassett/sonos-mcp-server.git
cd sonos-mcp-server
uv
安装所需的依赖项:uv sync
使用 stdio 运行服务器:
uv run mcp run server.py
使用 SSE 通过 supergateway
工具运行服务器:
npx -y supergateway --port 8000 --stdio "uv run mcp run server.py"
或者,您可以使用存储在仓库中的方便脚本:
./npx-serve-sse-8000.sh
以“开发”模式运行服务器并带有 MCP 检查器:
uv run mcp dev server.py
此命令为测试和调试目的托管一个 MCP 检查器。
要在 SSE 开发模式下运行服务器,请使用 supergateway
的 SSE 命令,并在第二个终端窗口中运行:
npx @modelcontextprotocol/inspector
使用暴露的 MCP 工具与 Sonos 设备交互。可用的工具包括:
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
:检索当前正在播放的曲目信息。volume
:获取或设置 Sonos 设备的音量。skip
, play_index
, remove_index_from_queue
:管理队列中曲目的位置。该项目根据 MIT License 许可。有关详细信息,请参阅 LICENSE 文件。