Sonos MCPサーバー
このプロジェクトは、ネットワーク上のSonosデバイスを制御および操作できるSonos MCP(Model Context Protocol)サーバーです。デバイスの検出、再生の制御、デバイス状態の取得、キューの管理など、さまざまな機能を提供します。
特徴
ネットワーク上のSonosデバイスを検出する
デバイスの再生状態を取得および制御する
再生キューを管理する
機能をMCPツールとして公開する
Related MCP server: MCP SNS Server
要件
Python 3.7以上
Pythonプロジェクトを管理するための
uv
インストール
リポジトリをクローンします。
git clone https://github.com/WinstonFassett/sonos-mcp-server.git cd sonos-mcp-serveruvを使用して必要な依存関係をインストールします。uv sync
使用法
サーバーの実行
スタジオ
stdio を使用してサーバーを実行します。
スーパーゲートウェイを備えたSSE
supergatewayツールを使用して SSE でサーバーを実行します。
あるいは、リポジトリで提供されている便利なスクリプトを使用することもできます。
発達
MCP インスペクターを使用してサーバーを「開発」モードで実行するには:
このコマンドは、テストとデバッグの目的で MCP インスペクターをホストします。
開発モードで SSE を使用してサーバーを実行するには、supergateway の SSE コマンドを使用し、2 番目のターミナル ウィンドウで次のコマンドを実行します。
利用可能なMCPツール
公開されている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ファイルをご覧ください。