使用说明
SoniqMCP--Sonos MCP服务器
从任何兼容MCP的AI客户端控制Sonos系统。通过stdio在本地运行,在Linux上部署Docker以实现全家庭访问,或者在其网络警告适合您的环境时遵循有记录的Helm/k3s指南。
它做什么
SoniqMCP是一个 主控程序 服务器,将Sonos系统作为AI代理的工具公开。连接Claude Desktop(或任何MCP客户端),通过自然对话控制播放、音量、队列、收藏夹、播放列表、本地音乐库浏览和播放以及房间分组。
可用工具:
| 类别 | 工具 |
|---|---|
| 系统 | list_rooms, get_system_topology |
| 播放 | play, pause, stop, next_track, previous_track, get_playback_state, get_track_info |
| 播放模式 | get_play_mode, set_play_mode, seek, get_sleep_timer, set_sleep_timer |
| 音量 | get_volume, set_volume, adjust_volume, mute, unmute, get_mute |
| 房间音响 | get_eq_settings, set_bass, set_treble, set_loudness |
| 排队 | get_queue, add_to_queue, remove_from_queue, clear_queue, play_from_queue |
| 收藏夹 | list_favourites, play_favourite |
| 报警生命周期 | list_alarms, create_alarm, update_alarm, delete_alarm |
| 播放列表播放和生命周期 | list_playlists, play_playlist, create_playlist, update_playlist, delete_playlist |
| 当地音乐图书馆 | browse_library, play_library_item |
| 团体 | get_group_topology, join_group, unjoin_room, party_mode, group_rooms |
| 组音频 | get_group_volume, set_group_volume, adjust_group_volume, group_mute, group_unmute |
| 输入 | switch_to_line_in, switch_to_tv |
| 安装程序 | ping, server_info |
快速启动
先决条件: Python 3.12+, 紫外线
# 1. Clone and install
git clone <repo-url> sonos-mcp-server
cd sonos-mcp-server
make install # runs: uv sync
# 2. Configure (copy and edit)
cp .env.example .env
# 3. Run
make run # starts the server over stdio
看 docs/setup/stdio.md 有关完整的本地设置指南,包括Claude Desktop接线。服务器运行后,使用 docs/promises/example-uses.md 用于直接和代理介导的提示示例和使用 docs/promises/command-reference.md 作为规范命令界面。
部署模型
| 本地stdio | Docker(HTTP) | Helm/k3s(HTTP) | |
|---|---|---|---|
| 最适合 | 同机AI客户端 | Linux家庭实验室服务器 | 自托管k3s/Kubernetes |
| 客户端位置 | 仅限同一台机器 | 任何网络客户端 | 任何网络客户机 |
看 docs/setup/README.md 查看完整的部署比较和设置指南。
配置
所有配置都是通过项目本地进行的 .env 文件或环境变量。
当两者都存在时,环境变量获胜:
| 变量 | 默认值 | 描述 |
|---|---|---|
SONIQ_MCP_TRANSPORT |
stdio |
运输方式(stdio 或 http) |
SONIQ_MCP_EXPOSURE |
local |
网络曝光态势(local 或 home-network) |
SONIQ_MCP_LOG_LEVEL |
INFO |
日志级别(调试/信息/警告/错误) |
SONIQ_MCP_DEFAULT_ROOM |
(无) | 可选默认Sonos房间 |
SONIQ_MCP_MAX_VOLUME_PCT |
80 |
容量安全帽(0–100) |
SONIQ_MCP_TOOLS_DISABLED |
(无) | 逗号分隔的禁用工具 |
SONIQ_MCP_HTTP_HOST |
127.0.0.1 |
绑定地址(仅限HTTP传输;对于家庭网络访问,也设置 SONIQ_MCP_EXPOSURE=home-network 并使用 0.0.0.0 或LAN地址) |
SONIQ_MCP_HTTP_PORT |
8000 |
端口(仅限HTTP传输) |
SONIQ_MCP_AUTH_MODE |
none |
HTTP身份验证模式: none, static,或 oidc (仅限HTTP传输) |
有关静态和OIDC身份验证配置,请参阅 docs/setup/authentication.md.
命令表面
受支持的指挥界面位于 docs/promises/command-reference.md。该页面是以下内容的规范参考:
make开发目标、质量门、Docker、Compose和Helm- 直接CLI调用示例
- 地方之间的关系
stdio工作流和远程Streamable HTTP部署路径
