About Claude Notification Server
Claude Notification Server is a macOS MCP server for Claude Desktop and other MCP clients to trigger sound and visual task notifications. Notifications occur only when a client calls its `task_status` tool.
Key features
- 01`task_status` notification tool
- 02macOS system and custom sounds
- 03Visual notifications with fallback methods
- 04Separate start and completion sounds
- 05Environment-based notification settings
Use cases
- 01Signal task start or completion from Claude Desktop
- 02Play a chosen sound when a task status is reported
- 03Show a visual alert when an MCP client reports status
MCP support
Exposes a `task_status` tool that MCP clients can call to trigger macOS sound and visual notifications. It does not detect task completion automatically.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMENotifications MCP Server
MCP server that lets Claude Desktop or another MCP client trigger macOS sound and visual notifications through a task_status tool.
Current Status
This is a macOS-focused utility. It is not an automatic Claude completion detector by itself: an MCP client or model must call the task_status tool when it wants a notification.
What Works Today
- Registers a
task_statusMCP tool. - Plays macOS system sounds with
afplay. - Sends visual notifications using terminal-notifier, AppleScript, PyObjC, or pync fallbacks.
- Supports separate start and completion sounds.
- Supports disabling visual notifications through an environment variable.
- Includes tests for the modular notification and sound managers.
Important Limitations
- macOS is the only implemented platform.
- Linux and Windows support are not implemented.
- Notifications only happen when the MCP tool is called.
- The packaged console script is
claude-notifications. - The Python package is
notifications; there is nonotifications_mcp_servermodule entry point. - Custom sound configuration uses environment variables, not the JSON configuration block that older README versions showed.
Installation
pip install notifications-mcp-server
Optional visual notification dependencies:
pip install "notifications-mcp-server[visual]"
pip install "notifications-mcp-server[pync]"
For terminal-notifier fallback support:
brew install terminal-notifier
Claude Desktop Configuration
Use the console script installed by the package:
{
"mcpServers": {
"notifications": {
"command": "claude-notifications"
}
}
}
Restart Claude Desktop after changing the config.
Configuration
Environment variables:
export CLAUDE_START_SOUND="/System/Library/Sounds/Glass.aiff"
export CLAUDE_COMPLETE_SOUND="/System/Library/Sounds/Hero.aiff"
export CLAUDE_VISUAL_NOTIFICATIONS="true"
export CLAUDE_NOTIFICATION_ICON="/path/to/icon.png"
If no custom sounds are set, the server uses macOS system sounds.
MCP Tool
task_status
Input:
{
"message": "Task completed"
}
Messages containing start or processing are treated as start notifications. Other messages are treated as completion notifications.
Verification Demo
Run the local diagnostic script on macOS to test the available notification paths:
python3 test_notification.py
The MCP tool returns a compact status object after attempting sound and visual notification delivery:
{
"status": "success",
"message": "Task completed",
"sound": "/System/Library/Sounds/Hero.aiff",
"visual": true
}
For a quieter smoke test that skips visual notification prompts:
CLAUDE_VISUAL_NOTIFICATIONS=false claude-notifications
Development
git clone https://github.com/charles-adedotun/notifications-mcp-server.git
cd notifications-mcp-server
pip install -e ".[dev]"
pytest
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.