Skip to main content
Glama
nickbeentjes

mac-audio-router-mcp

by nickbeentjes

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MAC_AUDIO_ROUTER_ZONESNoPath 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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 16 tools

Disambiguation4/5

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).

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues