mcp-notify
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-notify Notify me when the build finishes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Why MCP Notify?
Ever started a long-running AI task and walked away, only to come back wondering if it finished? MCP Notify solves this by sending push notifications directly to your phone.
Stay Informed — Get notified when builds complete, tests pass, or tasks finish
Works Everywhere — Claude Desktop, Claude Code CLI, Cursor, Windsurf
Simple Setup — One command to install, QR code to pair
Privacy First — Notifications are encrypted and never stored longer than needed
Related MCP server: MCPing
Quick Start
1. Install the MCP server:
npx -y mcp-notification setup2. Download the iOS app:
3. Pair your device:
In your AI client, just say:
"Pair my phone"
Scan the QR code with the app. Done!
Installation
Automated Setup (Recommended)
Run the setup wizard — it automatically detects and configures your AI clients:
npx -y mcp-notification setupThe wizard supports:
✅ Claude Desktop
✅ Claude Code CLI
✅ Cursor
✅ Windsurf
Manual Configuration
Add to ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"notify": {
"command": "npx",
"args": ["-y", "mcp-notification"]
}
}
}claude mcp add --transport stdio --scope user notify -- npx -y mcp-notificationAdd to .cursor/mcp.json or global config:
{
"mcpServers": {
"notify": {
"command": "npx",
"args": ["-y", "mcp-notification"]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"notify": {
"command": "npx",
"args": ["-y", "mcp-notification"]
}
}
}After configuration, restart your AI client to load the MCP server.
Usage
Just talk naturally to your AI assistant:
"Notify me when you're done"
"Send a notification that the build completed"
"What's my notification quota?"
"List my paired devices"
"Remove my old phone"Example Workflows
Long-running tasks:
"Run the full test suite and notify me when it's done"
Build monitoring:
"Build the project. If it succeeds, notify me with 'Build passed'. If it fails, send a high priority notification with the error."
Scheduled reminders:
"Send me a notification in 5 minutes to check the deployment"
MCP Tools
Tool | Description | Parameters |
| Display QR code for pairing |
|
| Check if QR was scanned | — |
| Check if ready to send notifications | — |
| Send a push notification |
|
| View notification history |
|
| Check monthly usage limits | — |
| List all paired devices | — |
| Unpair a device |
|
Notification Priority Levels
Priority | Behavior |
| Silent delivery |
| Standard notification (default) |
| Prominent alert |
| Bypasses Do Not Disturb |
How It Works
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ AI Client │ │ MCP Server │ │ iOS App │
│ (Claude, etc) │◀───────▶│ (mcp-notification)│◀───────▶│ (MCP Notify) │
└─────────────────┘ MCP └─────────────────┘ APNs └─────────────────┘
Protocol │
│
┌───────▼───────┐
│ Notify API │
│ (mcpnotify.dev)│
└───────────────┘Command Detection:
The package automatically detects how it's being invoked:
Invocation | Result |
| Setup wizard (always) |
| Setup wizard (TTY detected) |
Spawned by AI client | MCP stdio server (no TTY) |
| MCP server (always) |
This is achieved by checking process.stdin.isTTY — when you run it in a terminal, stdin is connected to a TTY. When an AI client spawns it, stdin is a pipe for MCP JSON-RPC communication.
Configuration
Environment Variables
Variable | Description | Default |
| Backend API URL |
|
Credential Storage
Credentials are stored locally in ~/.mcp-notify/:
~/.mcp-notify/
├── credentials.json # API key and user info
└── pairing_state.json # Temporary pairing dataTroubleshooting
Setup wizard not detecting my client?
Make sure the client is installed and working
Check that config files exist and are writable
Try manual configuration instead
Notifications not arriving?
Check pairing status: say "check pairing status" to your AI
Verify the iOS app has notification permissions enabled
Check your quota: say "what's my quota"
"Already configured" message?
The setup wizard detects existing configurations. To reconfigure:
Remove the existing entry from your client's config file
Run the setup wizard again
Development
# Clone the repo
git clone https://github.com/box7e7/mcp-notify
cd mcp-notify
# Install dependencies
npm install
# Build
npm run build
# Test setup wizard locally
npm link
mcp-notification setup
# Run tests
npm test
# Development mode (watch)
npm run devProject Structure
mcp-notify/
├── src/
│ ├── index.ts # Entry point (TTY detection)
│ ├── cli/
│ │ ├── setup.ts # Setup wizard
│ │ ├── config-manager.ts # Client config management
│ │ └── platform-detector.ts
│ ├── tools/
│ │ ├── pairing.tools.ts # Device pairing
│ │ ├── notification.tools.ts
│ │ └── account.tools.ts
│ └── services/
│ ├── api-client.ts # Backend communication
│ ├── credentials.ts # Local credential storage
│ └── qr-generator.ts # QR code generation
├── package.json
└── tsconfig.jsonLinks
Website: https://mcpnotify.dev
iOS App: App Store
Support: support@mcpnotify.dev
License
MIT © box7e7
Available Tools
8 toolscheck_pairing_statusA
Check if the QR code has been scanned and pairing is complete. Use this after displaying a QR code.
Inputs: no named parameters.
get_historyA
View your recent notification history.
Inputs: tags, limit.
get_quotaA
Check your notification quota and usage. Shows how many notifications you can send this month.
Inputs: no named parameters.
get_setup_statusA
Check if MCP Notify is set up and ready to send notifications. Returns pairing status and device count.
Inputs: no named parameters.
list_devicesA
List all paired devices that can receive notifications.
Inputs: no named parameters.
pair_deviceA
Pair your phone to receive notifications. Displays a QR code to scan with the MCP Notify mobile app. This is the first step for new users.
Inputs: device_name.
remove_deviceB
Remove a paired device. It will no longer receive notifications.
Inputs: device_id (required).
send_notificationA
Send a push notification to your paired devices. Use this when the user asks to be notified about something.
Inputs: title (required), url, body, tags, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Most tools target clearly distinct actions: pairing, sending, history, quota, and device management. The only mild overlap is between check_pairing_status and get_setup_status, but their descriptions differentiate an in-progress QR scan from overall readiness.
All tool names follow a consistent verb_noun pattern in snake_case, such as pair_device, send_notification, get_history, and remove_device. The verbs are clear and the pattern is predictable throughout.
Eight tools is a well-scoped size for a notification server, covering setup, sending, status, history, quota, and device management without unnecessary redundancy. Each tool earns its place.
The surface covers the full notification lifecycle: pairing, setup verification, sending, history, quota monitoring, device listing, and device removal. No obvious blocking gaps exist for the stated purpose.
Maintenance
Related MCP Connectors
Push notifications for AI agents - send instant iPhone notifications from any MCP client.
Reach your own phone from an AI agent: notifications, approval questions, reminders, ring, files.
Let your AI agent notify you by email, Slack, Discord, or webhook. One tool: send_notification.
AI agents and scripts reporting back to your iPhone with Push Notifications and Live Activities.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to send push notifications to mobile devices via Pushover, allowing users to receive instant alerts for task completions, errors, reminders, and custom messages through their AI conversations.19 npm2MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to send desktop notifications on macOS with rich formatting, urgency levels, and sound options.128 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables sending iOS push notifications through the Bark service directly from Claude conversations. Supports device aliases, all Bark API parameters, and async delivery.69 npm3MIT
- AlicenseAqualityBmaintenanceEnables AI agents to send push alerts to your phone via Blipr, useful for notifying when tasks complete, builds break, or approvals are needed.549 npmMIT