docs · mcp · alpha
Your AI assistant, on your speakers
Quak's MCP server lets Claude, ChatGPT, Cursor and any other MCP client make announcements on your Sonos. Ask for it in plain words: “tell the kids dinner is ready”, “play a drum roll in the living room”. The assistant picks the voice, and a fitting effect when it's fun: a robot in a spaceship for the washing machine, a radio DJ in the stadium for the win.
The address
https://api.quak.party/mcpEvery announcement costs credits like any other play and is in your history. Quiet hours, your default speakers and your plan's effects apply as always.
Tools
| Play | |
|---|---|
| play_text | Speak a text, with voice, voice effect, ambience, speakers and volume |
| play_sound | Play a built-in sound |
| play_clip | Play one of your clips |
| play_url | Play an audio URL |
| replay | Play an earlier announcement from the history again, also on other speakers; only the base fee |
| stop | Stop whatever plays, free |
| Find and manage | |
| find_sounds | Find sounds by words: name, description, keywords, tags |
| list_speakers | Where it can play: all speakers, locations, groups, rooms |
| list_voices | Voices of a language, the fastest first |
| list_effects | Voice effects and ambiences, each with a short description |
| list_clips | Your own clips |
| history | The latest plays, with the id for replay and save_clip |
| save_clip | Keep an earlier announcement as your own clip |
The tools call the same API as every client, with the same checks, credits and limits. Plays from an assistant show up in the history as sent via MCP.
Set it up
Claude.ai and Claude Desktop
Settings → Connectors → Add custom connector, with the URL below. Claude signs in with your Quak login.
ChatGPT
Settings → Apps & Connectors → developer mode → a new connector with the URL below, authentication OAuth.
When the assistant connects, Quak asks you in the browser: which app, what it may do and in which workspace. You can disconnect it any time under Your profile → Logins.
claude mcp add --transport http quak https://api.quak.party/mcpclaude mcp add --transport http quak https://api.quak.party/mcp \
--header "Authorization: Bearer qk_key_…"{
"mcpServers": {
"quak": {
"url": "https://api.quak.party/mcp",
"headers": { "Authorization": "Bearer qk_key_…" }
}
}
}Without headers the client signs in with OAuth instead, if it can. Make a key for your assistant under Settings → API keys, with play, or create if it should also keep clips.
Signing in
Two ways, both as Authorization: Bearer …: OAuth 2.1 for Claude.ai, Claude Desktop and ChatGPT (the client finds everything itself from the 401 of the server), or an API key for Claude Code, Cursor and scripts.
An app you let in with OAuth works in the one workspace you chose, with create (announcements and clips) or play if it only asks for that. It can't change settings, people or keys.