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
ClickSend MCP Server
Send SMS messages and make Text-to-Speech (TTS) calls using the ClickSend API.
S-IMSY MCP Server
Provides SSE and HTTP streamable connection endpoints, authenticated via a SIMSY App token.
Slack MCP Server
A server for integrating with Slack, enabling communication and automation within your workspace.
MCP Email Server
Manage emails using Gmail and IMAP protocols. Requires external configuration for credentials and settings.
Gmail AutoAuth MCP Server
Enables AI assistants to manage Gmail through natural language interactions.
Multichat MCP Server
A server for handling parallel unichat requests, configurable via a settings file.
Interact MCP
Enables real-time communication between AI assistants and users via a web-based chat interface.
Upbit MCP Server
Access market data, manage accounts, and execute trades on the Upbit Cryptocurrency Exchange via its OpenAPI.
Discord MCP
An MCP server for the Discord API, enabling seamless integration of Discord bots with MCP-compatible applications.
Dad Jokes MCP Server
Generates dad jokes with multiple styles and topics, complete with ratings and fun statistics.