開始前你需要
- 一個能加入 MCP 連接器的 AI 助理(Claude、ChatGPT,或任何支援 HTTP MCP 的用戶端)。
- 你已經登入的 Sonos 帳戶電子郵件與密碼 —— 兩條路都要用它來授權。
- 你的 Sonos 系統在跑 S2 軟體(Sonos 官方明確要求這一條)。
一句話:現在有兩套 Sonos MCP
MCP(Model Context Protocol)是讓 AI 助理呼叫外部工具的一套標準。AI 本身不會「控制喇叭」,它只會按工具說明書去發起呼叫。所以「Sonos 支援 MCP」的意思是:有人寫好了一台伺服器,把播放、音量、分組這些動作包成有名字的工具,AI 照著呼叫。
目前有兩台這樣的伺服器,都在運作:
- Sonos 官方的
Sonos 27mcp,位址https://mcp.ws.sonos.com/mcp,34 個工具,2026 年 9 月隨 Sonos 27 發布。 - ZoneFoundry 的 MCP,位址
https://relay.zonefoundry.dev/mcp,英文 27 個工具、中文 30 個,工具說明是中文的。
兩者互不隸屬,也互不依賴。你可以在不同助理裡各接一個。
Sonos 官方 27mcp
官方把它描述成「第一個可以直接從 AI 助理控制 Sonos 的官方方式」。要點如下:
| 項目 | 官方 27mcp |
|---|---|
| 位址 | https://mcp.ws.sonos.com/mcp |
| 驗證 | OAuth 2.1 + PKCE,走動態用戶端註冊。不需要自己申請 client ID 或金鑰。 |
| 工具數 | 34 個 |
| 接入方式 | Claude 和 ChatGPT 內建了官方連接器,在設定裡搜 Sonos 即可;其它 MCP 用戶端手動註冊位址。 |
| 語言 | 官方說明頁寫明「available in US-English」,目前是美式英語的早期版本。連上之後指令可以用任何語言說。 |
| 費用 | Sonos 不收費。但你的 AI 助理本身要有對應的訂閱等級。 |
| 穩定性 | 官方明說工具名、說明和參數「會隨時變化」,不應當成穩定 API 使用。 |
ZoneFoundry 的 MCP
我們這一台是圍繞中文場景做的:工具說明是中文,除了標準 MCP 之外還提供一條用金鑰的接入方式,給那些做不到 OAuth 的 App 用。
| 項目 | ZoneFoundry |
|---|---|
| 位址 | https://relay.zonefoundry.dev/mcp(英文) · …/mcp/zh(中文) |
| 驗證 | 兩種:OAuth 連接器(手機上填 6 位授權碼),或 zfagt_ 開頭的存取金鑰(URL 裡帶 ?token= 或請求標頭 Authorization: Bearer)。 |
| 工具數 | 英文 27 個;中文 30 個(多 pause、resume、pause_all 三個冪等工具) |
| 接入方式 | Claude / ChatGPT 走 OAuth 連接器;超級小愛、Muse、Claude Code 和腳本走金鑰。App 裡每張卡片都有對應步驟。 |
| 語言 | 工具名和說明有中文版,模型更容易選對工具;指令本身中英粵都可以。 |
| 費用 | MCP 接入不單獨收費;部分能力(例如家庭橋接、更多房間)看 App 內的方案說明。 |
怎麼選
判據是你的 AI 助理和你說什麼語言,不是哪個「更好」。
- 你在用 Claude 或 ChatGPT 的英文介面、系統是 S2、只想快點連上 —— 用官方 27mcp。它已經內建在連接器列表裡,設定裡搜 Sonos 就能加,不用複製任何位址。
- 你的 AI 是超級小愛、或者任何不會走 OAuth 的 App / 腳本 —— 只能用 ZoneFoundry。官方 27mcp 沒有金鑰方式。
- 你希望模型在中文工具名單裡選工具 —— 用 ZoneFoundry 的
/mcp/zh。工具描述是中文的,長清單下選錯的機率更低。 - 你要接進 Claude Code 或自己寫腳本 —— 用 ZoneFoundry 的存取金鑰,直接帶 Bearer 標頭呼叫。官方那條也能手動註冊位址,但只有 OAuth。
別把兩條接進同一個對話。Sonos 自己的文件就提醒:同一個助理掛多個 MCP 伺服器時,像「暫停」這種兩邊都有的通用指令可能被路由到錯誤的一方,結果按了沒反應。
ZoneFoundry 的 27 個工具
連上之後 AI 手裡就是這張名單。按用途分組:
- 看狀態:
list_rooms·now_playing·list_favorites·list_playlists·play_history·taste_profile·list_reminders - 播放:
play_music·search_music·toggle_play_pause·next_track·previous_track·seek·set_play_mode - 音量:
set_volume·adjust_volume·set_mute - 房間與分組:
group_rooms·ungroup_room·move_music - 裝置與播報:
switch_source·set_home_theater·announce - 提醒:
set_reminder·cancel_reminder - 隨口說:
ask_zonefoundry(把一句話原樣交給助理解析)·undo_last(復原上一次音量或分組改動)
中文版另有 pause、resume、pause_all。這三個是冪等的:pause 只暫停,不會把已經暫停的房間變成播放,比反覆用 toggle_play_pause 穩。
最快自檢:跟 AI 說「列出我的房間」。能回你真實的 Sonos 房間名,就說明工具呼叫通了。
常見報錯怎麼修
405 Method Not Allowed
位址對了,但那條路徑不收這種請求方法。最常見的是拿 GET / SSE 去連只收 POST 的 /mcp/zh。修法只換路徑那一段,?token= 原封不動保留:
改前: https://relay.zonefoundry.dev/mcp/zh?token=zfagt_xxx
改後: https://relay.zonefoundry.dev/sse/zh?token=zfagt_xxx
只換整段、把 ?token= 丟了,會從 405 變成 401 —— 那不是新問題,是金鑰沒了。
401 Unauthorized
兩種 401 含義完全不同,先分清走哪條路:
- OAuth 連接器:401 往往只是正常的驗證挑戰,用戶端接下來會拉起授權頁。繼續走完(拿到 6 位碼 → 填回 App → 批准),不要因為看到 401 就改去產生金鑰。
- 金鑰:先看 URL 裡的
?token=有沒有被輸入框截斷(最常見),再看zfagt_後面是不是完整,最後確認金鑰沒有被撤銷。用請求標頭的,檢查有沒有漏掉Bearer和後面那個空格。
連上了但 AI 說沒有工具
先確認它列的是不是你的真實房間;再回 App 的「AI 接入」頁看那張卡片是不是顯示「已授權」。如果卡片顯示「連接」,說明那次授權沒有走完 —— 重新連一次,別去懷疑 Sonos。
常見問題
Sonos 有官方 MCP 嗎?
有。Sonos 在 2026 年 9 月的 Sonos 27 裡發布了官方 MCP 伺服器 Sonos 27mcp,位址是 https://mcp.ws.sonos.com/mcp,提供 34 個工具,免費,要求系統跑 S2 軟體。官方頁面寫明目前只提供美式英語。
官方 27mcp 和 ZoneFoundry 的 MCP 能同時接嗎?
能,但不建議接在同一個 AI 對話裡。Sonos 自己的文件就提醒:同一個助理掛多個 MCP 伺服器時,像「暫停」這種通用指令可能被路由到錯誤的一方。要對比著試,一次只留一個。
接上之後 AI 說找不到工具 / 401 怎麼辦?
401 表示驗證沒過,先分清走的是哪條路。走 OAuth 連接器的,401 往往只是正常的驗證挑戰,繼續走完授權流程即可;用金鑰的,檢查位址裡的 token 有沒有被輸入框截斷,或者用 Authorization: Bearer 標頭時有沒有漏掉 Bearer 和空格。
405 Method Not Allowed 是什麼原因?
位址對了,但那條路徑不收這種請求方法。最常見是用 GET 或 SSE 去連只收 POST 的 /mcp/zh。改法是把路徑換成 /sse/zh,?token= 那一段原封不動保留。
中文 AI 能用嗎?
官方 27mcp 目前只提供美式英語。要用中文 AI,例如超級小愛,需要接 ZoneFoundry 自己的 MCP 位址,它的工具名和說明都是中文的。
需要裝家庭橋接才能用 MCP 嗎?
不需要。只要已經登入 Sonos 帳戶。橋接只決定 AI 點的歌會不會直接進播放佇列。