A Model Context Protocol server for controlling Mac screen brightness and system volume.
-
Screen Brightness Control
- Get current screen brightness
- Set screen brightness with optional fade duration
- Supports brightness range: 0-100%
-
System Volume Control
- Get current system volume
- Set system volume
- Toggle system mute state
- Python >= 3.10
- macOS (uses native macOS frameworks)
- Required permissions for screen and audio control
- brightness (Install via Homebrew):
brew install brightness
uv pip install -e .-
get_screen_brightness()
- Returns current screen brightness (0-100)
-
set_screen_brightness(brightness: float, duration: float = 0)
- Set screen brightness level
- brightness : Target brightness (0-100)
- duration : Fade duration in seconds (0 for immediate change)
-
get_system_volume()
- Returns current system volume (0-100)
-
set_system_volume(volume: int)
- Set system volume level (0-100)
-
toggle_system_mute()
- Toggle system audio mute state
Configure in Claude desktop:
{
"mac_brightness": {
"command": "uvx",
"args": ["mcp-server-mac-brightness"]
}
}- Input validation for brightness and volume levels
- Comprehensive error messages for system API failures
- Graceful error handling for permission issues
MIT License