開始前你需要
- Claude 帳號,網頁版或桌面 App 都可以。
- 你的 Sonos 帳戶電子郵件和密碼。兩條路最後都要在你的 Sonos 帳號上確認一次。
- 走自訂連接器的話,還需要裝 ZoneFoundry(App Store 搜 ZoneFoundry)並已連上喇叭。
先選路:一句話判據
| 你的情況 | 走哪條 |
|---|---|
| 英文介面、系統跑 S2、想一分鐘連好 | Sonos 官方內建連接器 |
| 中文介面,或希望 Claude 在中文工具名單裡選 | ZoneFoundry 自訂連接器 |
| 要在 Claude Code 或腳本裡用 | ZoneFoundry 存取金鑰 |
路 A:Sonos 官方內建連接器
Sonos 在 Sonos 27 裡發布了官方 MCP(叫 Sonos 27mcp),Claude 那邊把它做成了內建連接器,所以在連接器列表裡直接能搜到,不用複製任何位址。官方說明頁寫明目前是美式英語的版本。
- 在 Claude 開啟 設定 → 連接器(Connectors),搜尋 Sonos,或者從列表裡選它,點 Connect。
- 瀏覽器會開啟授權頁,顯示由「Sonos Cloud MCP Anthropic」請求控制你的 Sonos 系統。看完權限清單,點 Okay。
- 輸入你的 Sonos 帳戶電子郵件和密碼,點 Sign In。
- 再看一遍 Claude 請求的權限,點 Okay。
- 回到 設定 → 連接器,Sonos 那一行狀態應該出現勾。
- 開一個新的對話再問它,舊的對話不會自動帶上新接的工具。
路 B:ZoneFoundry 自訂連接器
這條路不依賴 Claude 的連接器目錄,所以不管官方那邊有沒有放開、你的帳號在哪個區,都能用。代價是要多一步:手機上的 6 位授權碼。
1. 在 App 裡複製連接器連結
ZoneFoundry → 設定 →「AI 與聊天」→ AI 接入 → 點 Claude 卡片。「如何連接」內有連接器連結 https://relay.zonefoundry.dev/mcp,點下面的「複製」。Claude 和 ChatGPT 兩張卡片用的是同一條連結,分別只在於各自 AI 內加入的位置。
2. 在 Claude 裡加入自訂連接器
在 claude.ai 或 Claude 桌面 App 開啟 設定 → 連接器 → 點 + Add → Add custom connector,把連結貼進去,點 Connect。
Claude 的選單文案會隨版本變(有的版本把這一頁放在 Customize 下面)。判據不是選單叫什麼,而是最後能不能開啟「Add custom connector」這一頁。能開啟就對了。
3. 用手機確認(5 分鐘內)
電腦上會開一頁,顯示 6 位數字碼。回 ZoneFoundry App,在「輸入授權碼」裡填進去,點 批准。三個細節:
- 5 分鐘內有效。逾時那一頁會顯示已過期,回 Claude 重新連一次就有新碼。
- 同一頁上也有 QR 碼,用 iPhone 相機掃一下可以直接跳到 App 裡批准。
- 也可以直接對 ZoneFoundry 助理說「授權 123456」。
4. 回 Claude 開新對話
那一頁顯示 Approved — returning… 之後,回 Claude 開新對話。App 裡的 Claude 卡片這時應該顯示「已授權」。
兩條路差在哪
| 項目 | Sonos 官方 | ZoneFoundry |
|---|---|---|
| 怎麼加 | 連接器清單裡搜 Sonos | 自訂連接器,貼上連結 |
| 確認方式 | 瀏覽器裡登入 Sonos 帳戶 | 手機上填 6 位授權碼 |
| 工具說明語言 | 英文,34 個工具 | 中文 30 個 / 英文 27 個 |
| 語言可用範圍 | 官方寫明美式英語 | 中英粵都可以 |
| 系統要求 | S2 軟體 + Sonos 帳戶 | Sonos 帳戶(橋接可選) |
Claude Code 和腳本
Claude Code 走的是金鑰,不是連接器。在 App 的 「AI 接入」→「存取金鑰」 新建一條,得到 zfagt_ 開頭的 token(只顯示一次)。然後把 https://relay.zonefoundry.dev/sse/zh 配成 MCP 伺服器,請求標頭帶上:
Authorization: Bearer zfagt_你的token
為什麼用 /sse/zh:它同時接受 SSE 長連接和普通 POST,不用賭你的用戶端用哪種。只有在它明確不接受 /sse/* 時,才改成 /mcp/zh(那一條只收 POST)。
用金鑰接進來的 Claude Code 不會讓 Claude 卡片變成「已授權」—— 那類連接只記在「存取金鑰」下面。這是設計如此,不是沒連上。
接上之後怎麼問
Claude 拿到工具名單後,正常說話就行,不用背指令。幾句可以直接用的:
- 「列出我的房間」—— 最快的自檢,能說出真實房間名就說明通了。
- 「客廳放周杰倫,音量 25」
- 「除了臥室,其他房間都放同一首歌」
- 「十分鐘後在廚房提醒我關火」—— 走的是喇叭播報。
如果它答得像模像樣但喇叭沒反應,先懷疑工具呼叫沒通(回 App 看卡片狀態),別急著怪喇叭。
常見問題
Sonos 官方連接器和自訂連接器可以同時裝嗎?
技術上可以,但同一個 Claude 對話裡掛兩個 Sonos 相關的 MCP 伺服器時,「暫停」「下一首」這類通用指令可能被路由到另一個,表現成點了沒反應。要對比就把其中一個關掉。
為什麼 Claude 卡片一直顯示「連接」而不是「已授權」?
說明那次授權沒有走完。6 位授權碼 5 分鐘內有效,逾時會顯示已過期;還有一種常見情況是用存取金鑰接的 Claude Code,那類連接只記在「存取金鑰」裡,不會讓 Claude 卡片變成已授權。
Claude Code 也能控制 Sonos 嗎?
能,但走的是存取金鑰而不是連接器。在 App 裡新建一條 zfagt_ 開頭的金鑰,然後在 Claude Code 裡把 https://relay.zonefoundry.dev/sse/zh 配成 MCP 伺服器,帶上 Authorization: Bearer 標頭。
授權碼過期了怎麼辦?
回 Claude 裡重新點一次連接,會產生新的授權碼。舊的那個不會再用,也不用去撤銷什麼。
Claude 說找不到 Sonos 連接器?
官方的那個連接器在 Claude 設定 → 連接器裡搜尋 Sonos 應該能看到;如果搜不到,可能是帳號或地區還沒放開,改用自訂連接器那條路,它不依賴官方目錄。