mac-audio-router-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MAC_AUDIO_ROUTER_ZONES | No | Path to a JSON file for persistent zone configuration |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_audio_statusB | Get complete audio system status: all devices, zones, active processes, volume, and routing |
| list_audio_devicesA | List all audio input and output devices connected to this Mac, including Bluetooth, HDMI, USB, AirPlay, and built-in devices |
| list_audio_zonesB | List configured audio zones and their current routing assignments |
| list_audio_processesA | List processes currently using audio hardware (players, browsers, voice apps) |
| set_output_deviceA | Route system audio output to a specific device by name. Use list_audio_devices first to see available devices. |
| set_input_deviceA | Set the active microphone / audio input device by name. Use list_audio_devices first to see available devices. |
| get_volumeA | Get the current system output volume level (0-100) |
| set_volumeC | Set the system output volume level |
| muteB | Mute or unmute the system audio output |
| configure_zoneC | Create or update an audio zone with a specific output device, input device, and volume level. Zones let you manage multi-room or multi-purpose audio routing. |
| activate_zoneB | Switch the system audio routing to match a pre-configured zone's settings |
| play_audioB | Play an audio file through the current default output device. Supports WAV, MP3, AAC, AIFF. |
| speak_textB | Speak text aloud using macOS text-to-speech on the current output device |
| route_and_playB | Switch output to a specific device, then play an audio file or speak text. Atomic operation for targeted audio delivery. |
| hog_deviceB | Take exclusive access to an audio device (prevents other apps from using it). Requires the native audiod daemon. |
| set_device_volumeA | Set volume on a specific device (not just the default). Requires the native audiod daemon. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools target distinct resources and actions (device routing, volume, zones, playback, listing). Some overlap exists between set_volume/set_device_volume and play_audio vs route_and_play, but descriptions clarify the distinction (default vs specific device, atomic combined operation).
All tools use consistent snake_case verb_noun or verb forms (set_output_device, configure_zone, list_audio_devices, play_audio). The list_* family is uniform and predictable throughout.
16 tools is slightly heavy but each maps to a genuine audio-routing operation. The set is well-scoped with no obviously redundant tools, though it sits near the upper end of the comfortable range.
Covers the core lifecycle: device selection, volume, mute, zone create/update/activate, playback, TTS, status, and discovery listing. Minor gap: no delete_zone operation to remove configured zones, but otherwise the surface is solid.