NotifyMeMaybe
Un servidor para enviar notificaciones multiplataforma y crear flujos de trabajo interactivos con IA, con soporte para Telegram, webhooks e interacciones sincrónicas con usuarios.
Documentación
NotifyMeMaybe
Un potente servidor MCP (Model Context Protocol) para notificaciones multiplataforma y flujos de trabajo interactivos de IA
🚀 TLDR - Inicio rápido
Comienza en 2 minutos:
-
Crea un bot de Telegram:
- Envía un mensaje a @BotFather en Telegram
- Usa
/newbotpara crear un bot y obtener tuBOT_TOKEN - Inicia un chat con tu bot y obtén tu
CHAT_ID
-
Añade a la configuración de MCP:
{ "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" } } } } -
Reinicia tu asistente de IA:
- Claude Desktop: Reinicia la aplicación
- Cursor: Reinicia y activa la configuración de MCP
-
Prueba: ¡Pide a tu asistente de IA que te envíe una notificación!
¡Eso es todo! 🎉 No se requiere instalación, clonación ni compilación.
🌐 Soporte de idiomas
🤖 Integración con Asistentes de IA (Prompts de Agente)
¿Listo para integrarte con tu asistente de IA? Elige la configuración de prompt adecuada para tus necesidades:
📋 Configuraciones de Prompt de Agente Disponibles
| Tipo de Prompt | Descripción | Mejor para | Herramientas clave |
|---|---|---|---|
| Solo Notificación | Notificaciones simples de finalización de tareas | Necesidades básicas de notificación | send_notification, broadcast_notification |
| Interactivo Básico | Interacciones de Telegram + notificaciones | Entrada del usuario y confirmaciones | request_interaction_sync, send_notification |
| Interactivo Avanzado | Flujo de trabajo continuo con prompts de seguimiento | Tareas complejas de múltiples pasos | get_telegram_prompts, process_telegram_prompt, request_interaction_sync |
🎯 Inicio rápido para Asistentes de IA
- Elige un tipo de prompt a continuación
- Copia la configuración completa del prompt
- Añade a tu prompt de sistema del asistente de IA (Cursor, Claude, etc.)
- Configura tus servicios de NotifyMeMaybe
- ¡Empieza a recibir notificaciones e interacciones!
Características
🔔 Notificaciones multicanal
- Integración con Telegram: Envía notificaciones directamente a chats de Telegram
- Soporte de Webhook: Notificaciones HTTP webhook para integraciones personalizadas
- Niveles de prioridad: Notificaciones de prioridad alta, normal y baja
- Metadatos enriquecidos: Adjunta datos personalizados a las notificaciones
🤖 Motor de Prompts Interactivo
La característica principal de NotifyMeMaybe es su sofisticado motor de prompts que permite la comunicación bidireccional entre sistemas de IA y usuarios:
Tipos de interacción
- Solicitudes de confirmación: Decisiones de Sí/No con interfaces de botones
- Prompts de texto: Recopila entrada de texto de los usuarios
- Menús de selección: Opciones de opción múltiple con botones personalizados
- Síncrono y asíncrono: Interacciones en tiempo real y en cola
Integración de flujo de trabajo de IA
- Compatible con MCP (Model Context Protocol): Se integra perfectamente con Claude y otros sistemas de IA
- Gestión de tiempo de espera: Tiempos de espera configurables con manejo de respaldo
- Gestión de cola: Maneja múltiples interacciones de usuario concurrentes
- Validación de respuestas: Asegura el formato adecuado de las respuestas del usuario
Características avanzadas
- Auto-rechazo: Maneja automáticamente interacciones caducadas
- Notificaciones de difusión: Envía a todos los canales activos simultáneamente
- Monitoreo de salud del servicio: Estado en tiempo real de todos los servicios de notificación
- Internacionalización: Soporte multilingüe (Inglés, Chino tradicional, Chino simplificado)
Configuraciones de Prompt de Agente
1. 📢 Modo Solo Notificación
Copia esta configuración de prompt para tu asistente de IA:
## 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. 🔄 Modo Interactivo
Copia esta configuración de prompt para tu asistente de IA:
## 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. 🚀 Modo Interactivo Avanzado
Copia esta configuración completa de prompt para tu asistente de IA:
## 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
📦 Instalación y Configuración
🌟 Método 1: NPX (Recomendado)
Añade a tu archivo de configuración de MCP:
Ubicaciones de archivos de configuración:
- 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"
}
}
}
}
⚠️ Importante: Después de la configuración, reinicia completamente tu asistente de IA.
🛠️ Método 2: Desarrollo Local
Para desarrolladores que quieran modificar el código:
git clone https://github.com/keoy7am/NotifyMeMaybe.git
cd NotifyMeMaybe
npm install
npm run build
📱 Obteniendo Credenciales de Telegram
- Crea un bot: Envía un mensaje a @BotFather →
/newbot - Obtén el ID de chat: Envía un mensaje a tu bot, visita
https://api.telegram.org/bot<TOKEN>/getUpdates
🔧 Configuración
Variables requeridas
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_CHAT_ID=your_chat_id_here
Variables opcionales
TELEGRAM_PROMPT_ENABLED=true
TELEGRAM_INTERACTION_ENABLED=true
DEFAULT_NOTIFICATION_SERVICE=telegram
LANGUAGE=en
🛠️ Herramientas MCP
send_notification: Enviar a un servicio específicobroadcast_notification: Enviar a todos los serviciosrequest_interaction_sync: Interacción de usuario síncronatest_services: Verificación de salud de todos los serviciosget_telegram_prompts: Recuperar prompts pendientesprocess_telegram_prompt: Procesar prompts de Telegram
🤝 Contribuciones
¡Las contribuciones son bienvenidas! Por favor:
- Haz un fork del repositorio
- Crea una rama de características
- Envía una solicitud de extracción (pull request)
📄 Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles.
🎯 ¿Listo para comenzar?
Inicio rápido (Recomendado)
- Obtén token de bot de Telegram
- Añade configuración de MCP
- Reinicia tu asistente de IA
- ¡Prueba con una notificación!
Configuración avanzada
- Elige una Configuración de Prompt de Agente
- Cópiala en el prompt de sistema de tu asistente de IA
- Configura características avanzadas
- ¡Crea flujos de trabajo interactivos!
📦 Paquete NPM
npm view notify-me-maybe-mcp
npx notify-me-maybe-mcp # Use directly
NotifyMeMaybe - ¡Haciendo que la interacción entre IA y humanos sea fluida! 🚀
💡 Consejo profesional: ¡No olvides reiniciar tu asistente de IA después de la configuración!