macOS-Notification
macOS Notification MCP enables AI assistants to trigger native macOS sounds, visual notifications, and text-to-speech. Built for Claude and other AI models using the Model Context Protocol.
claude mcp add --transport stdio devizor-macos-notification-mcp uvx macos-notification-mcp
How to use
This MCP server enables AI assistants to trigger macOS notifications, play system sounds, and convert text to speech. It exposes tools for sound notifications, banner (visual) notifications, speech synthesis, voice management, and testing utilities. You can control these capabilities through the provided Python API calls (e.g., sound_notification, banner_notification, speak_notification, list_available_voices, test_notification_system) or via Claude Desktop integration if you’re using Claude’s workflow. The server processes requests sequentially, with built-in queuing and a small delay between notifications to avoid overlap, and relies on native macOS commands (afplay, osascript, say) for implementation.
To run, use the recommended uvx-based approach: launch the MCP server with the uvx runtime, which avoids permanent installation. Example command: uvx macos-notification-mcp. The server is designed to be easily integrated into automation, chat assistants, or Claude Desktop configurations so you can trigger notifications directly from your AI workflows.
How to install
Prerequisites:
- macOS (since it uses native macOS tooling)
- Python 3.x (for the Python API and optional development)
- Optional: uv (via the uvx runtime) for zero-install usage
Installation steps (uvx / runtime method):
- Install uv if you don't have it (recommended): curl -LsSf https://astral.sh/uv/install.sh | sh
- Run the MCP server directly without permanent installation: uvx macos-notification-mcp
Alternative installation (pip / from source):
- Install the package via pip: pip install macos-notification-mcp
- Install from source (if you prefer): git clone https://github.com/devizor/macos-notification-mcp cd macos-notification-mcp pip install .
- Run the server (if installed via pip): python -m macos_notification_mcp # adjust if the exact entry point differs in your install
Note: The README describes using uvx for quick usage and the pip method for a more permanent install. Choose the method that best fits your workflow.
Additional notes
Tips and common considerations:
- Permissions: Ensure macOS Notifications are allowed for this app in System Settings → Notifications.
- If using the direct command (not uvx), you may need to supply full paths to system tools (afplay, osascript, say).
- Rate limiting: The server processes one notification at a time with a minimum interval of 0.5 seconds to avoid overlaps.
- Environment: When running in certain automation environments, ensure the user session has access to GUI elements for notifications.
- Troubleshooting: If notifications don't appear, check Console for any errors related to osascript or say; verify that the correct system voices are installed for text-to-speech.
- Testing: Use test_notification_system() to validate all notification methods during development.
Related MCP Servers
amazon-q-developer-cli
✨ Agentic chat experience in your terminal. Build applications using natural language.
droidmind
Control your Android devices with AI using Model Context Protocol
mcp-linker
mcp store manager, add & syncs MCP server configurations across clients like Claude code, Cursor💡 build-in Codex agent use ChatGPT subscription, mcphub
asterisk
Asterisk Model Context Protocol (MCP) server.
mcp -mattermost
MCP server for Mattermost — let Claude, Cursor, and other AI assistants work with channels, messages, and files
django-admin
Expose Django admin models to MCP (Model Context Protocol) clients. Add a mixin to your ModelAdmin classes and let AI assistants like Claude perform CRUD operations, execute admin actions, and explore relationships—all respecting Django's permission system.