A Model Context Protocol (MCP) server that provides sound alerts, voice messages, and macOS notifications for Claude Code and other MCP-compatible AI assistants.
Get notified when Claude needs your attention - perfect for long-running tasks, when you step away, or when Claude hits a blocker.
- Sound alerts - Play native macOS system sounds
- Voice messages - Text-to-speech using macOS voices
- Desktop notifications - Native macOS notification center
- Zero external dependencies - Uses only built-in macOS tools
- macOS (uses native
afplay,say, andosascript) - Node.js 18+
- Claude Code CLI or any MCP-compatible client
npm install -g mcp-notifygit clone https://github.com/dbreugne/mcp-notify.git
cd mcp-notify
npm installAdd to your Claude Code configuration (~/.claude.json):
{
"mcpServers": {
"mcp-notify": {
"command": "npx",
"args": ["-y", "mcp-notify"]
}
}
}Or if installed locally:
{
"mcpServers": {
"mcp-notify": {
"command": "node",
"args": ["/path/to/mcp-notify/index.js"]
}
}
}After adding, restart Claude Code for the changes to take effect.
Play a system sound. Great for simple audio alerts.
Parameters:
sound(optional): Sound name from/System/Library/Sounds/. Default:Blow
Example usage in Claude:
"Play a sound when you're done"
Speak a message aloud without showing a notification.
Parameters:
message(required): The message to speakvoice(optional): macOS voice to use. Default:Samantha
Example usage in Claude:
"Tell me out loud when the build is complete"
Full notification with sound, desktop notification, and optional voice.
Parameters:
message(required): The message to display and optionally speaktitle(optional): Notification title. Default:Claude needs youurgency(optional):normalorurgent. Urgent plays sound twicevoice(optional): Set totrueto also speak the message
Example usage in Claude:
"Notify me when you need my input"
These sounds are available on all macOS systems:
| Sound | Description |
|---|---|
| Blow | Default notification sound |
| Basso | Deep, attention-grabbing |
| Bottle | Soft pop |
| Frog | Quirky ribbit |
| Funk | Funky alert |
| Glass | Crystal clear ding |
| Hero | Triumphant fanfare |
| Morse | Dot-dash beep |
| Ping | Simple ping |
| Pop | Quick pop |
| Purr | Gentle purr |
| Sosumi | Classic Mac sound |
| Submarine | Sonar ping |
| Tink | Light tap |
Run say -v ? in Terminal to see all available voices on your system. Common ones:
Samantha(default) - American English femaleAlex- American English maleVictoria- American English femaleDaniel- British English maleKaren- Australian English female
Through testing, Glass works well as a non-intrusive "your turn" notification sound.
You can also set up a Claude Code hook to automatically play a sound when Claude finishes:
Add to ~/.claude/settings.local.json:
{
"hooks": {
"Stop": [
{
"type": "command",
"command": "afplay /System/Library/Sounds/Glass.aiff"
}
]
}
}- Check your system volume
- Ensure the sound file exists:
ls /System/Library/Sounds/ - Test manually:
afplay /System/Library/Sounds/Glass.aiff
- Check System Preferences > Notifications
- Ensure Terminal/your IDE has notification permissions
- Test manually:
say "Hello" - Check available voices:
say -v ?
MIT License - see LICENSE file.
Contributions welcome! Please open an issue or PR on GitHub.
Created for use with Claude Code.