关于 Sonos Mcp
Sonos Mcp 是通过 CastBreeze 控制 Sonos 扬声器的 MCP 服务,面向需要从 AI 客户端管理播放的用户。它支持播放音频文件和流媒体,并提供扬声器组信息。
主要功能
- 01OAuth 登录 CastBreeze
- 02控制 Sonos 扬声器
- 03播放 URL 或本地音频
- 04循环播放音频流
- 05管理音量与播放优先级
- 06查询扬声器组和播放器
适用场景
- 01在指定扬声器播放提示音
- 02播放 URL 或本地 MP3、WAV
- 03循环播放网络电台流
- 04查看扬声器组和播放器信息
MCP 相关
该 MCP 服务向兼容客户端提供 Sonos 控制、音频播放和设备查询工具,并提供认证状态资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
@castbreeze/sonos-mcp
用于控制 Sonos 扬声器并通过 CastBreeze 播放音频流的模型上下文协议(MCP)服务。
功能
- 🔐 使用 CastBreeze 进行 OAuth 身份验证
- 🔊 通过 MCP 控制 Sonos 扬声器
- 🎵 播放来自 URL 或本地文件的音频片段(MP3、WAV)
- 📻 循环播放音频 URL
- 🎚️ 管理播放优先级和音量
- 🏠 获取扬声器组和播放器信息
- 🔔 播放默认提示音
安装
NPM
npm install -g @castbreeze/sonos-mcp
PNPM
pnpm add -g @castbreeze/sonos-mcp
NPX(无需安装)
npx @castbreeze/sonos-mcp
使用方法
与 Claude Desktop 配合使用
将以下内容添加到 Claude Desktop 配置文件中:
MacOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"castbreeze-sonos": {
"command": "npx",
"args": ["-y", "@castbreeze/sonos-mcp"]
}
}
}
或者,如果已全局安装:
{
"mcpServers": {
"castbreeze-sonos": {
"command": "sonos-mcp"
}
}
}
与 Cline 配合使用(VS Code 扩展)
将以下内容添加到 Cline MCP 设置(.roo/mcp.json)中:
{
"mcpServers": {
"castbreeze-sonos": {
"command": "node",
"args": ["path/to/dist/index.js"]
}
}
}
身份验证
此服务使用 OAuth 与 CastBreeze 进行身份验证:
- 使用
start_login工具启动 OAuth 流程 - 在浏览器中完成授权
- 使用
finish_login工具并提供授权码 - 访问令牌会存储在
auth.json中,以供后续使用
可用工具
身份验证
- start_login:启动 OAuth 登录流程(打开浏览器)
- finish_login:使用授权码完成 OAuth 登录
播放
-
play_default_chime:播放默认提示音
- 参数:
players(数组或"*")、volume(可选)、priority(可选)
- 参数:
-
play_audio_clip:播放音频片段(MP3/WAV)
- 参数:
players、uri(URL 或file://路径)、volume(可选)、priority(可选) - 支持:
https://、http://、file://URI
- 参数:
-
play_radio:循环播放 URI(流媒体)
- 参数:
uri、groups(可选)、volume(可选)
- 参数:
设备管理
- get_groups:获取所有扬声器组和播放器
可用资源
- auth://status:当前身份验证状态和令牌信息
示例
在所有扬声器上播放提示音
Play the default chime on my Sonos speakers
播放 URL 中的 MP3
Play https://example.com/audio.mp3 on my Sonos
播放本地文件
Play the file at /path/to/audio.mp3 on Sonos
播放电台流
Play https://stream.example.com/radio on repeat
开发
# Install dependencies
pnpm install
# Build
pnpm build
# Run with inspector
pnpm inspector
要求
- Node.js >= 22.0.0
- CastBreeze 账户(用于 OAuth 身份验证)
- 网络中的 Sonos 扬声器
项目结构
mcp/
├── src/
│ ├── index.ts # Main MCP server implementation
│ └── server-selection.ts # Server selection utilities
├── dist/ # Compiled JavaScript output
├── auth.json # OAuth tokens (auto-generated)
├── package.json
└── README.md
许可证
MIT
参与贡献
欢迎贡献!请随时提交 Pull Request。
支持
- GitHub Issues:https://github.com/castbreeze/mcp/issues
- 电子邮件:[email protected]
相关项目
- CastBreeze - 音频流自动化平台
- Cast to Sonos - 用于投放到 Sonos 的 Chrome 扩展
更新日志
1.1.0
- 以
@castbreeze/sonos-mcp名称首次发布到 npm - 支持 OAuth 身份验证
- 支持播放来自 URL 和本地文件的音频片段
- 支持电台流播放
- 支持管理扬声器组
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。