Home / MCP / Apple Notifier MCP Server

Apple Notifier MCP Server

Provides native macOS notifications, prompts, TTS, screenshots, and file picker actions via MCP clients.

typescript
Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
    "mcpServers": {
        "apple_notifier": {
            "command": "apple-notifier-mcp",
            "args": []
        }
    }
}

Apple Notifier MCP Server lets you trigger native macOS notifications, interactive prompts, text-to-speech, screenshots, and file selections from any MCP-compatible client. It enables seamless desktop interactions from Claude Desktop, Cline, or other MCP clients by running on your Mac.

How to use

You connect an MCP client to the Apple Notifier MCP Server and then call the available tools to perform actions on macOS. Typical workflows include sending a notification to alert you, showing a prompt to gather input, speaking text aloud, taking screenshots for documentation, or letting users pick files from the system dialog. Each action is exposed as a distinct tool that you invoke through your MCP client, supplying the required and optional parameters.

How to install

Prerequisites you need before installing: macOS, Node.js 18 or newer, and an MCP-compatible client such as Claude Desktop or Cline.

Install the Apple Notifier MCP Server via the Smithery workflow (automatic client integration):

npx -y @smithery/cli install apple-notifier-mcp --client claude

Manual installation steps to run the server locally:

# Install the package globally
npm install -g apple-notifier-mcp

# Add to your MCP configuration files
# For Cline
``json``
{
  "mcpServers": {
    "apple-notifier": {
      "command": "apple-notifier-mcp"
    }
  }
}

# For Claude Desktop
``json``
{
  "mcpServers": {
    "apple-notifier": {
      "command": "apple-notifier-mcp"
    }
  }
}

Additional configuration and usage notes

The server exposes a set of actions you can invoke from your MCP client. You don’t need to run a separate HTTP service; instead, you run the local executable that communicates with macOS APIs to perform the requested actions.

Configuration examples

If you use Cline, place this under your cline_mcp_settings.json in the mcpServers section:

{
  "mcpServers": {
    "apple-notifier": {
      "command": "apple-notifier-mcp"
    }
  }
}

If you use Claude Desktop, place this under your claude_desktop_config.json in the mcpServers section:

{
  "mcpServers": {
    "apple-notifier": {
      "command": "apple-notifier-mcp"
    }
  }
}

Example usage

Send a notification directly from your MCP client with a title and message, optionally including a subtitle and sound:

await client.use_mcp_tool("apple-notifier", "send_notification", {
  title: "Reminder",
  message: "Standup in 5 minutes",
  subtitle: "Team meeting",
  sound: true
});

Troubleshooting and tips

If the server cannot start, ensure apple-notifier-mcp is installed and accessible in your system PATH. Verify you are using Node.js 18+ and that your MCP client is configured to reach the local MCP server by name (e.g., apple-notifier). Check that your macOS permissions allow accessibility features for automation.

Available tools

send_notification

Display native macOS notifications with a specified title, message, optional subtitle, and whether to play the default sound.

prompt_user

Show an interactive prompt with a message, optional default answer, up to three custom buttons, and an icon option to collect user input.

speak

Use macOS text-to-speech to read a given text with an optional voice and adjustable speaking rate.

take_screenshot

Capture a screenshot of the entire screen, a window, or a user-selected area, with options for format and cursor visibility.

select_file

Open the native macOS file picker to select one or more files with optional prompts and type filters.