mcp-notify
Click on "Install 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-notifyNotify 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: BotBell MCP Server
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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/box7e7/mcp-notify'
If you have feedback or need assistance with the MCP directory API, please join our Discord server