home / mcp / claude notifications mcp server
Provides audible and visual notifications for Claude Desktop on macOS, with configurable sounds and macOS Notification Center alerts.
Configuration
View docs{
"mcpServers": {
"charles-adedotun-notifications-mcp-server": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"fastmcp",
"run",
"/path/to/server.py"
],
"env": {
"CLAUDE_START_SOUND": "default start sound path or system sound",
"CLAUDE_COMPLETE_SOUND": "default complete sound path or system sound",
"CLAUDE_NOTIFICATION_ICON": "/path/to/your/icon.png",
"CLAUDE_VISUAL_NOTIFICATIONS": "true or false"
}
}
}
}You install and run a lightweight MCP server that delivers both audible and visual notifications to Claude Desktop on macOS. It keeps you informed when Claude starts processing and when it finishes a task, with customizable sounds, macOS Notification Center alerts, and a straightforward setup that requires minimal dependencies.
After installing, you run the notification server through the MCP client you use with Claude Desktop. The server offers a task_status notification tool that Claude calls at the start and end of each interaction, delivering an audible sound and a visual alert. You can customize sounds and icons, and you can choose to enable or disable visual notifications. To test the system, trigger the test workflow provided by the server to verify that all notification methods are functioning on your machine.
Prerequisites you need on macOS include Claude Desktop and Python 3.8 or higher. You also want a working internet connection for dependencies.
# Step 1: Clone the project
git clone https://github.com/charles-adedotun/notifications-mcp-server.git
cd notifications-mcp-server
# Step 2: Install uv (if not already installed)
# Option 1: Using curl
curl -LsSf https://astral.sh/uv/install.sh | sh
# Option 2: Using Homebrew
brew install uv
# Step 3: Install the package and dependencies
# Install the package in development mode
uv pip install -e .
# Or install directly from the repository
uv pip install git+https://github.com/charles-adedotun/notifications-mcp-server.git
# Install visual notification dependencies (recommended)
uv pip install pyobjc-core pyobjc-framework-Cocoa
# Step 4: Test the installation
# Run the test script to verify notifications are working
uv run python test_notification.py
# Run the notification server directly
uv run claude-notifications
# Step 5: Configure Claude Desktop
# Create or edit the Claude Desktop MCP configuration to include the notification serverExample integration snippet you would add to Claude Desktop configuration (path and exact location may vary):
{
"mcpServers": {
"notify-user": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"fastmcp",
"run",
"/path/to/server.py"
]
}
}
}Restart Claude Desktop after adding the server configuration to ensure the MCP connection is established.
Test the notifications to confirm everything is wired correctly:
uv run python test_notification.pyNotification endpoint used by Claude Desktop to signal start and end of each interaction, triggering audible and visual alerts.
Handles playback of macOS system sounds or custom .aiff files for start and completion notifications.
Manages visual alerts via macOS Notification Center, with fallbacks to AppleScript or terminal-notifier if needed.
Platform-specific implementations for macOS including sound and notification methods using PyObjC, pync, AppleScript, and terminal-notifier.