Notifications Server
FreeNot checkedMCP server that lets Claude Desktop or another MCP client trigger macOS sound and visual notifications through a task_status tool.
About
MCP server that lets Claude Desktop or another MCP client trigger macOS sound and visual notifications through a task_status tool.
README
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
Install Notifications Server in Claude Desktop, Claude Code & Cursor
unyly install notifications-mcp-serverInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add notifications-mcp-server -- uvx --from git+https://github.com/charles-adedotun/notifications-mcp-server notifications-mcp-serverFAQ
Is Notifications Server MCP free?
Yes, Notifications Server MCP is free — one-click install via Unyly at no cost.
Does Notifications Server need an API key?
No, Notifications Server runs without API keys or environment variables.
Is Notifications Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Notifications Server in Claude Desktop, Claude Code or Cursor?
Open Notifications Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Notifications Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
