该项目是一个Sonos MCP(模型上下文协议)服务器,允许您控制并与网络上的Sonos设备进行交互。它提供了多种功能,如发现设备、控制播放状态、检索设备状态以及管理播放队列。
uv来管理Python项目克隆仓库:
git clone https://github.com/WinstonFassett/sonos-mcp-server.git
cd sonos-mcp-server
使用uv安装所需依赖项:
uv sync
使用标准输入输出运行服务器:
uv run mcp run server.py
使用supergateway工具通过SSE运行服务器:
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
此命令托管一个MCP Inspector用于测试和调试目的。
要在开发模式下使用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:检索Sonos设备上的当前曲目信息。volume:获取或设置Sonos设备的音量。skip, play_index, remove_index_from_queue:管理Sonos设备队列中的曲目。本项目采用MIT许可证。详情见LICENSE文件。