Sonos Mcp について
Sonos Mcpは、CastBreeze経由でSonosスピーカーを操作するMCPサーバーです。AIクライアントから音声の再生やスピーカーグループの確認を行いたいユーザー向けです。
主な機能
- 01CastBreezeのOAuthログイン
- 02Sonosスピーカーの操作
- 03URL・ローカル音声の再生
- 04音声ストリームのリピート
- 05音量と再生優先度の管理
- 06グループとプレーヤーの確認
活用シーン
- 01指定したスピーカーでチャイムを再生
- 02URLやファイルのMP3・WAVを再生
- 03インターネットラジオをリピート再生
- 04スピーカーグループとプレーヤー情報を確認
MCP 対応
互換クライアント向けにSonos操作、音声再生、デバイス照会のツールと、認証状態のリソースを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
@castbreeze/sonos-mcp
CastBreeze を通じて Sonos スピーカーを操作し、オーディオストリームを再生する Model Context Protocol(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"]
}
}
}
認証
このサーバーは CastBreeze との認証に OAuth を使用します。
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(任意) - 対応 URI:
https://、http://、file://
- パラメーター:
-
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 およびローカルファイルからのオーディオクリップ再生
- ラジオストリーミングに対応
- スピーカーグループ管理
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。