Sonora
FreeNot checkedMCP server that wraps the Multiroom Audio Hub v2 REST API, providing 24 tools to control multiroom audio systems. Enables AI assistants to manage inputs, output
About
MCP server that wraps the Multiroom Audio Hub v2 REST API, providing 24 tools to control multiroom audio systems. Enables AI assistants to manage inputs, outputs, groups, routes, playback, and master mute.
README
MCP server that wraps the Multiroom Audio Hub v2 REST API as 24 MCP tools. Any AI assistant that supports MCP can connect to this server via a URL and control your multiroom audio system.
Architecture
AI Assistant (Copilot, Claude, etc.)
│
▼ (MCP protocol over HTTP)
┌──────────────────────┐
│ sonora-mcp server │ port 3001
│ (Node.js/TypeScript)│
└──────────┬───────────┘
│ HTTP REST calls
▼
┌──────────────────────┐
│ multiroom-ai REST │ port 8088
│ (Spring Boot) │
└──────────────────────┘
Quick Start
Build
npm install
npm run build
Run
# Start the MCP server, pointing at your Multiroom API
node dist/server.js --multiroom-url http://localhost:8088
Development
npm run dev -- --multiroom-url http://localhost:8088
CLI Arguments
| Argument | Required | Default | Description |
|---|---|---|---|
--multiroom-url <url> |
Yes | — | Base URL of the Multiroom Audio REST API (e.g. http://localhost:8088) |
--port <port> |
No | 3001 |
Port for the MCP server |
-h, --help |
No | — | Show usage help |
The server will not start without --multiroom-url. If you omit it, you'll see a usage message and exit.
Connecting AI Assistants
MCP Inspector (testing)
npx @modelcontextprotocol/inspector
Connect to: http://localhost:3001/mcp
GitHub Copilot (VS Code)
Add to your VS Code settings.json:
{
"mcp": {
"servers": {
"sonora-mcp": {
"type": "http",
"url": "http://localhost:3001/mcp"
}
}
}
}
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"sonora-mcp": {
"type": "streamableHttp",
"url": "http://localhost:3001/mcp"
}
}
}
Available Tools (24)
Inputs (5)
| Tool | Description |
|---|---|
listInputs |
List all audio inputs |
getInput |
Get a single input by ID |
createInput |
Create a new ephemeral audio input |
deleteInput |
Delete an ephemeral audio input |
setInputEnabled |
Enable or disable an audio input |
Outputs (5)
| Tool | Description |
|---|---|
listOutputs |
List all audio outputs |
getOutput |
Get a single output by ID |
setOutputVolume |
Set output volume (0–100) |
setOutputMute |
Mute or unmute an output |
setOutputEnabled |
Enable or disable an output |
Groups (5)
| Tool | Description |
|---|---|
listGroups |
List all audio output groups |
getGroup |
Get a single group by ID |
setGroupVolume |
Set volume for all outputs in a group |
setGroupMute |
Mute or unmute all outputs in a group |
setGroupEnabled |
Enable or disable a group |
Routes (6)
| Tool | Description |
|---|---|
listRoutes |
List all active audio routes |
getRoute |
Get a single route by ID |
createRoute |
Create a new audio route (input → output/group) |
deleteRoute |
Stop and delete a route |
transferRoute |
Transfer a route to a new output/group |
setRoutePause |
Pause or resume a route |
Playback (1)
| Tool | Description |
|---|---|
playback |
Play audio from a URI (auto-creates input + route) |
Master Mute (2)
| Tool | Description |
|---|---|
getMasterMute |
Get system-wide master mute state |
setMasterMute |
Set system-wide master mute |
Health Check
curl http://localhost:3001/health
# → {"status":"ok","server":"sonora-mcp","version":"1.0.0"}
Tech Stack
- Runtime: Node.js 18+
- Language: TypeScript
- MCP SDK:
@modelcontextprotocol/sdk(v1.30+) - Transport: Streamable HTTP (stateless)
- HTTP: Express 5
- Schema validation: Zod
License
AGPL-3.0
Installing Sonora
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Sonora-Multiroom/sonora-mcpFAQ
Is Sonora MCP free?
Yes, Sonora MCP is free — one-click install via Unyly at no cost.
Does Sonora need an API key?
No, Sonora runs without API keys or environment variables.
Is Sonora hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Sonora in Claude Desktop, Claude Code or Cursor?
Open Sonora on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
ARA
Generate images, video and audio from any AI agent — one connector.
by ARAOmni Video
An MCP server that transforms LLM-enabled IDEs into professional video editors by pre-processing footage into text proxies, generating motion graphics via HTML/
by buildwithtazaYouTube
Transcripts, channel stats, search
by YouTubeEverArt
AI image generation using various models.
by modelcontextprotocolgpu-bridge/mcp-server
Unified GPU inference API with 30 AI services (LLM, image gen, video, TTS, whisper, embeddings, reranking, OCR) as MCP tools. Pay-per-use via x402 USDC or API k
by gpu-bridgehamflx/imagen3-mcp
A powerful image generation tool using Google's Imagen 3.0 API through MCP. Generate high-quality images from text prompts with advanced photography, artistic,
by hamflxmerterbak/Grok-MCP
MCP server for xAI's [Grok API](https://docs.x.ai/docs/overview) with agentic tool calling, image generation, vision, and file support.
by merterbakSureScaleAI/openai-gpt-image-mcp
OpenAI GPT image generation/editing MCP server.
by SureScaleAIYangLiangwei/PersonalizationMCP
Comprehensive personal data aggregation MCP server with Steam, YouTube, Bilibili, Spotify, Reddit and other platforms integrations. Features OAuth2 authenticati
by YangLiangweiAceDataCloud/MCPFlux
Flux AI image generation and editing (Black Forest Labs) via Ace Data Cloud API.
by AceDataCloudCompare Sonora with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All media MCPs
