NotifyMeMaybe
A server for sending multi-platform notifications and creating interactive AI workflows, with support for Telegram, webhooks, and synchronous user interactions.
NotifyMeMaybe
A powerful MCP (Model Context Protocol) server for multi-platform notifications and interactive AI workflows
đ TLDR - Quick Start
Get started in 2 minutes:
-
Create Telegram Bot:
- Message @BotFather on Telegram
- Use
/newbotto create a bot and get yourBOT_TOKEN - Start a chat with your bot and get your
CHAT_ID
-
Add to MCP Configuration:
{ "mcpServers": { "notify-me-maybe": { "command": "npx", "args": ["-y", "notify-me-maybe-mcp"], "env": { "TELEGRAM_BOT_TOKEN": "your_bot_token_here", "TELEGRAM_CHAT_ID": "your_chat_id_here", "TELEGRAM_PROMPT_ENABLED": "true", "TELEGRAM_INTERACTION_ENABLED": "true", "DEFAULT_NOTIFICATION_SERVICE": "telegram", "LANGUAGE": "en" } } } } -
Restart Your AI Assistant:
- Claude Desktop: Restart the application
- Cursor: Restart and activate the MCP configuration
-
Test: Ask your AI assistant to send you a notification!
That's it! đ No installation, no cloning, no building required.
đ Language Support
- English (Current) - You are here
- įšéĢ䏿 - Traditional Chinese
- įŽäŊ䏿 - Simplified Chinese
đ¤ AI Assistant Integration (Agent Prompts)
Ready to integrate with your AI assistant? Choose the right prompt configuration for your needs:
đ Available Agent Prompt Configurations
| Prompt Type | Description | Best For | Key Tools |
|---|---|---|---|
| Notification Only | Simple task completion notifications | Basic notification needs | send_notification, broadcast_notification |
| Interactive Basic | Telegram interactions + notifications | User input & confirmations | request_interaction_sync, send_notification |
| Interactive Advanced | Continuous workflow with follow-up prompts | Complex multi-step tasks | get_telegram_prompts, process_telegram_prompt, request_interaction_sync |
đ¯ Quick Start for AI Assistants
- Choose a prompt type below
- Copy the complete prompt configuration
- Add to your AI assistant system prompt (Cursor, Claude, etc.)
- Configure your NotifyMeMaybe services
- Start getting notifications and interactions!
Features
đ Multi-Channel Notifications
- Telegram Integration: Send notifications directly to Telegram chats
- Webhook Support: HTTP webhook notifications for custom integrations
- Priority Levels: High, normal, and low priority notifications
- Rich Metadata: Attach custom data to notifications
đ¤ Interactive Prompt Engine
The core feature of NotifyMeMaybe is its sophisticated prompt engine that enables bi-directional communication between AI systems and users:
Interaction Types
- Confirmation Requests: Yes/No decisions with button interfaces
- Text Prompts: Collect text input from users
- Selection Menus: Multiple choice options with custom buttons
- Synchronous & Asynchronous: Both real-time and queued interactions
AI Workflow Integration
- MCP (Model Context Protocol) Compatible: Seamlessly integrates with Claude and other AI systems
- Timeout Management: Configurable timeouts with fallback handling
- Queue Management: Handle multiple concurrent user interactions
- Response Validation: Ensure proper user response formatting
Advanced Features
- Auto-reject: Automatically handle expired interactions
- Broadcast Notifications: Send to all active channels simultaneously
- Service Health Monitoring: Real-time status of all notification services
- Internationalization: Multi-language support (English, Traditional Chinese, Simplified Chinese)
Agent Prompt Configurations
1. đĸ Notification-Only Mode
Copy this prompt configuration for your AI assistant:
## NotifyMeMaybe Notification-Only Mode Configuration
### When to use NotifyMeMaybe tools:
- **ALWAYS** notify when tasks are completed
- Send progress updates for long-running operations
- Notify on errors or important status changes
### Required MCP Tools Usage:
#### Task Completion Notifications:
Use `send_notification` or `broadcast_notification` when:
- Any task is completed successfully
- An error occurs during task execution
- Important milestones are reached
Parameters:
- service: "telegram" (or use broadcast_notification for all services)
- title: Clear, concise summary of what was accomplished
- message: Detailed results, file paths, URLs, or error details
- priority: "high" (errors), "normal" (completions), "low" (progress updates)
- metadata: Include relevant context like file paths, timestamps, etc.
#### Example Usage:
send_notification(
service="telegram",
title="Task Completed: Code Analysis",
message="Successfully analyzed 15 files and found 3 potential issues. Results saved to /reports/analysis.json",
priority="normal",
metadata={"files_analyzed": 15, "issues_found": 3, "report_path": "/reports/analysis.json"}
)
### Service Health Check:
Use `test_services` periodically to ensure services are available.
2. đ Interactive Mode
Copy this prompt configuration for your AI assistant:
## NotifyMeMaybe Interactive Mode Configuration
### When to use NotifyMeMaybe tools:
- Request user input when clarification is needed
- Ask for confirmations before major operations
- Provide selection menus for user choices
- Send completion notifications
### Required MCP Tools Usage:
#### User Interaction Requests:
Use `request_interaction_sync` when:
- You need user confirmation before proceeding
- You require text input from the user
- You want to offer multiple choice options
Parameters:
- type: "confirmation" (Yes/No), "prompt" (text input), "selection" (multiple choice)
- message: Clear question or request for user
- options: Array of choices (only for type="selection")
- timeout: 60000 (60 seconds) or appropriate timeout
#### Examples:
Confirmation Request:
request_interaction_sync(
type="confirmation",
message="Do you want to proceed with deleting 5 files from the project directory?"
)
Text Input Request:
request_interaction_sync(
type="prompt",
message="Please provide the target deployment environment (staging/production):"
)
Selection Menu:
request_interaction_sync(
type="selection",
message="Choose the deployment strategy:",
options=["Blue-Green Deployment", "Rolling Update", "Canary Release"]
)
#### Completion Notifications:
Always send completion notifications using `send_notification` after tasks finish.
#### Error Handling:
- Handle interaction timeouts gracefully
- Provide fallback responses if user doesn't respond
- Use high priority notifications for critical errors
3. đ Advanced Interactive Mode
Copy this complete prompt configuration for your AI assistant:
## NotifyMeMaybe Advanced Interactive Mode Configuration
### Core Agent Behavior Rules:
- **ALWAYS** check for new Telegram prompts at session start
- **NEVER** end a session without asking for additional requests
- **ALWAYS** process pending prompts before starting new tasks
- **ALWAYS** send progress notifications for long operations
### Required MCP Tools Usage Protocol:
#### 1. Session Start Protocol:
ALWAYS execute at the beginning of each session:
1. Check for pending prompts:
get_telegram_prompts()
2. If prompts exist, process each one:
process_telegram_prompt(
promptId="<prompt_id>",
response="Received your request. Processing now..."
)
3. Send status notification:
send_notification(
service="telegram",
title="AI Session Started",
message="Processing your Telegram requests. Session active.",
priority="normal"
)
#### 2. Task Execution Protocol:
During task execution:
1. Send progress updates for long operations:
send_notification(
service="telegram",
title="Progress Update",
message="Step 2/5 completed: Database backup finished",
priority="normal",
metadata={"step": 2, "total_steps": 5}
)
2. Use interactions when user input needed:
request_interaction_sync(
type="confirmation",
message="Ready to proceed with database migration. Continue?"
)
3. Handle errors with high priority:
send_notification(
service="telegram",
title="Error Occurred",
message="Database connection failed. Retrying in 30 seconds...",
priority="high"
)
#### 3. Session End Protocol:
**MANDATORY**: Never end without this sequence:
1. Send completion notification:
send_notification(
service="telegram",
title="Task Completed Successfully",
message="All requested operations completed. Summary: [detailed results]",
priority="normal"
)
2. ALWAYS ask for additional requests:
request_interaction_sync(
type="prompt",
message="Task completed successfully. Do you have any additional instructions or follow-up requests?",
timeout=60000
)
3. Continue interaction loop until user indicates completion
4. Only stop when user explicitly says "finished", "done", "no more tasks", or similar
#### 4. Telegram Prompt Monitoring:
Regularly check for new prompts:
- Use get_telegram_prompts() to check queue
- Process immediately with process_telegram_prompt()
- Prioritize user prompts over automated tasks
#### 5. Service Health Monitoring:
Periodically verify services:
test_services()
get_service_status(service="telegram")
### Advanced Mode Benefits:
- Users can send tasks anytime via Telegram
- AI automatically processes queued requests
- Continuous workflow without manual intervention
- Comprehensive progress tracking
- Error recovery with user guidance
đĻ Installation & Setup
đ Method 1: NPX (Recommended)
Add to your MCP configuration file:
Configuration File Locations:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"notify-me-maybe": {
"command": "npx",
"args": ["-y", "notify-me-maybe-mcp"],
"env": {
"TELEGRAM_BOT_TOKEN": "your_bot_token_here",
"TELEGRAM_CHAT_ID": "your_chat_id_here",
"TELEGRAM_PROMPT_ENABLED": "true",
"TELEGRAM_INTERACTION_ENABLED": "true",
"DEFAULT_NOTIFICATION_SERVICE": "telegram",
"LANGUAGE": "en"
}
}
}
}
â ī¸ Important: After configuration, restart your AI assistant completely.
đ ī¸ Method 2: Local Development
For developers who want to modify the code:
git clone https://github.com/keoy7am/NotifyMeMaybe.git
cd NotifyMeMaybe
npm install
npm run build
đą Getting Telegram Credentials
- Create Bot: Message @BotFather â
/newbot - Get Chat ID: Send message to your bot, visit
https://api.telegram.org/bot<TOKEN>/getUpdates
đ§ Configuration
Required Variables
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_here
Optional Variables
TELEGRAM_PROMPT_ENABLED=true
TELEGRAM_INTERACTION_ENABLED=true
DEFAULT_NOTIFICATION_SERVICE=telegram
LANGUAGE=en
đ ī¸ MCP Tools
send_notification: Send to specific servicebroadcast_notification: Send to all servicesrequest_interaction_sync: Synchronous user interactiontest_services: Health check all servicesget_telegram_prompts: Retrieve pending promptsprocess_telegram_prompt: Process Telegram prompts
đ¤ Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
đ License
MIT License - see LICENSE file for details.
đ¯ Ready to Get Started?
Quick Start (Recommended)
- Get Telegram bot token
- Add MCP configuration
- Restart your AI assistant
- Test with a notification!
Advanced Setup
- Choose an Agent Prompt Configuration
- Copy to your AI assistant system prompt
- Configure advanced features
- Build interactive workflows!
đĻ NPM Package
npm view notify-me-maybe-mcp
npx notify-me-maybe-mcp # Use directly
NotifyMeMaybe - Making AI-human interaction seamless! đ
đĄ Pro Tip: Don't forget to restart your AI assistant after configuration!
Related Servers
Gmail
An MCP server for Gmail, allowing AI assistants to manage emails through natural language.
WhatsApp Cloned Voice Messages
Integrates WhatsApp and Minimax to send personalized voice messages using cloned voices.
Mailtrap
Integrates with Mailtrap Email API.
Desktop Notification
Send cross-platform desktop notifications from AI assistants.
Facebook MCP Server
Automate and manage interactions on a Facebook Page using the Facebook Graph API.
DingTalk
A server for interacting with DingTalk workspaces using the Model Context Protocol.
Qiye Wechat MCP
Enables AI assistants to send messages to Enterprise WeChat (Qiye Wechat) groups via webhooks.
Zulip MCP Server
Interact with Zulip workspaces using the Zulip API.
oVice
Manage oVice workspaces, groups, users, and send notifications through the oVice API.
Infobip MCP servers
Enables seamless integration with communication platform that allows you to reach your customers globally across any channel.