The Apple Notifier MCP Server enables interaction with macOS system features through MCP-compatible clients:
Send Notifications: Display native macOS notifications with customizable title, message, subtitle, and sound options.
Display Prompts: Show interactive dialog prompts to gather user input, with optional buttons, icons, and default answers.
Text-to-Speech: Utilize macOS text-to-speech to speak text, with customizable voice and speech rate.
Take Screenshots: Capture screenshots of fullscreen, window, or selection areas, with options for format, cursor visibility, and shadow.
File Selection: Open native macOS file picker dialogs to select files, with support for multiple selections and file type filters.
Provides access to Apple's macOS system services including notifications, dialogs, text-to-speech, screenshot capture, and file selection functionality.
Enables sending native macOS notifications, displaying interactive dialog prompts, using text-to-speech capabilities, capturing screenshots, and accessing the native file picker dialog.
Apple Notifier MCP Server
Send native macOS notifications and interact with system dialogs through any MCP-compatible client like Claude Desktop or Cline.
Prerequisites
macOS
Node.js >= 18
An MCP-compatible client (Claude Desktop, Cline)
Related MCP server: Toast MCP Server
Installation
Installing via Smithery
To install Apple Notifier for Claude Desktop automatically via Smithery:
Manual Installation
Install the package globally:
Add to your MCP configuration file:
For Cline (cline_mcp_settings.json):
For Claude Desktop (claude_desktop_config.json):
Features
Send Notifications
Display native macOS notifications with customizable content.
Parameters:
title(required): string - The title of the notificationmessage(required): string - The main message contentsubtitle(optional): string - A subtitle to displaysound(optional): boolean - Whether to play the default notification sound (default: true)
Display Prompts
Show interactive dialog prompts to get user input.
Parameters:
message(required): string - Text to display in the prompt dialogdefaultAnswer(optional): string - Default text to pre-fillbuttons(optional): string[] - Custom button labels (max 3)icon(optional): 'note' | 'stop' | 'caution' - Icon to display
Text-to-Speech
Use macOS text-to-speech capabilities.
Parameters:
text(required): string - Text to speakvoice(optional): string - Voice to use (defaults to system voice)rate(optional): number - Speech rate (-50 to 50, defaults to 0)
Take Screenshots
Capture screenshots using macOS screencapture.
Parameters:
path(required): string - Path where to save the screenshottype(required): 'fullscreen' | 'window' | 'selection' - Type of screenshotformat(optional): 'png' | 'jpg' | 'pdf' | 'tiff' - Image formathideCursor(optional): boolean - Whether to hide the cursorshadow(optional): boolean - Whether to include window shadow (only for window type)timestamp(optional): boolean - Add timestamp to filename
File Selection
Open native macOS file picker dialog.
Parameters:
prompt(optional): string - Prompt messagedefaultLocation(optional): string - Default directory pathfileTypes(optional): object - File type filter (e.g., {"public.image": ["png", "jpg"]})multiple(optional): boolean - Allow multiple file selection
Example Usage
Contributing
See CONTRIBUTING.md for development setup and guidelines.
Running evals
The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.
License
MIT License - see the LICENSE file for details.