一个强大的MCP(模型上下文协议)服务器,用于多平台通知和交互式AI工作流
两分钟内开始使用:
创建Telegram机器人:
/newbot创建一个机器人并获取你的BOT_TOKENCHAT_ID添加到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"
}
}
}
}
重启你的AI助手:
测试:让您的AI助手给您发送一条通知!
就这样! 🎉 不需要安装、克隆或构建。
准备好与您的AI助手集成吗? 根据您的需求选择正确的提示配置:
| 提示类型 | 描述 | 最适合 | 关键工具 |
|---|---|---|---|
| 仅通知模式 | 简单的任务完成通知 | 基本的通知需求 | send_notification, broadcast_notification |
| 基本互动模式 | Telegram互动+通知 | 用户输入及确认 | request_interaction_sync, send_notification |
| 高级互动模式 | 连续工作流程,带有后续提示 | 复杂的多步骤任务 | get_telegram_prompts, process_telegram_prompt, request_interaction_sync |
NotifyMeMaybe的核心功能是其复杂的提示引擎,它使AI系统与用户之间的双向通信成为可能:
复制此提示配置到您的AI助手:
## NotifyMeMaybe 仅通知模式配置
### 何时使用NotifyMeMaybe工具:
- **始终**在任务完成后通知
- 发送长时间运行操作的进度更新
- 在错误或重要状态变化时通知
### 必需的MCP工具使用:
#### 任务完成通知:
使用`send_notification`或`broadcast_notification`当:
- 任何任务成功完成
- 任务执行期间发生错误
- 达到重要里程碑
参数:
- service: "telegram"(或使用broadcast_notification用于所有服务)
- title: 清晰简洁的任务完成总结
- message: 详细结果、文件路径、URL或错误详情
- priority: "high"(错误)、"normal"(完成)、"low"(进度更新)
- metadata: 包含相关上下文如文件路径、时间戳等
#### 示例使用:
send_notification(
service="telegram",
title="任务完成:代码分析",
message="成功分析了15个文件,并发现了3个潜在问题。结果保存至/reports/analysis.json",
priority="normal",
metadata={"files_analyzed": 15, "issues_found": 3, "report_path": "/reports/analysis.json"}
)
### 服务健康检查:
定期使用`test_services`以确保服务可用。
复制此提示配置到您的AI助手:
## NotifyMeMaybe 互动模式配置
### 何时使用NotifyMeMaybe工具:
- 当需要澄清时请求用户输入
- 在重大操作前询问确认
- 提供选择菜单供用户选择
- 发送完成通知
### 必需的MCP工具使用:
#### 用户互动请求:
使用`request_interaction_sync`当:
- 在继续之前需要用户确认
- 需要从用户处获取文本输入
- 想提供多项选择选项
参数:
- type: "confirmation"(Yes/No),"prompt"(文本输入),"selection"(多项选择)
- message: 清晰的问题或请求
- options: 选项数组(仅适用于type="selection")
- timeout: 60000(60秒)或适当的超时
#### 示例:
确认请求:
request_interaction_sync(
type="confirmation",
message="您是否想继续删除项目目录中的5个文件?"
)
文本输入请求:
request_interaction_sync(
type="prompt",
message="请输入目标部署环境(staging/production):"
)
选择菜单:
request_interaction_sync(
type="selection",
message="选择部署策略:",
options=["蓝绿部署", "滚动更新", "金丝雀发布"]
)
#### 完成通知:
任务完成后始终使用`send_notification`发送完成通知。
#### 错误处理:
- 轻松处理互动超时
- 如果用户没有响应,则提供回退响应
- 对于关键错误使用高优先级通知
复制此完整的提示配置到您的AI助手:
## NotifyMeMaybe 高级互动模式配置
### 核心代理行为规则:
- **始终**在会话开始时检查新的Telegram提示
- **永不**在未请求更多请求的情况下结束会话
- **始终**在开始新任务前处理待处理提示
- **始终**对长时间操作发送进度通知
### 必需的MCP工具使用协议:
#### 1. 会话启动协议:
始终在每个会话开始时执行:
1. 检查待处理提示:
get_telegram_prompts()
2. 如果存在提示,处理每个提示:
process_telegram_prompt(
promptId="<prompt_id>",
response="收到您的请求。正在处理中..."
)
3. 发送状态通知:
send_notification(
service="telegram",
title="AI会话已启动",
message="正在处理您的Telegram请求。会话处于活动状态。",
priority="normal"
)
#### 2. 任务执行协议:
在任务执行过程中:
1. 对长时间操作发送进度更新:
send_notification(
service="telegram",
title="进度更新",
message="已完成第2/5步:数据库备份完成",
priority="normal",
metadata={"step": 2, "total_steps": 5}
)
2. 当需要用户输入时使用互动:
request_interaction_sync(
type="confirmation",
message="准备进行数据库迁移。继续?"
)
3. 使用高优先级处理错误:
send_notification(
service="telegram",
title="发生错误",
message="数据库连接失败。30秒后重试...",
priority="high"
)
#### 3. 会话结束协议:
**强制性**:永远不要在没有这个序列的情况下结束:
1. 发送完成通知:
send_notification(
service="telegram",
title="任务成功完成",
message="所有请求的操作已完成。摘要:[详细结果]",
priority="normal"
)
2. **始终**请求更多指令:
request_interaction_sync(
type="prompt",
message="任务成功完成。您有其他指示或后续请求吗?",
timeout=60000
)
3. 继续互动循环直到用户表示完成
4. 只有当用户明确表示“完成”、“结束”、“没有更多任务”等时才停止
#### 4. Telegram提示监控:
定期检查新的提示:
- 使用get_telegram_prompts()检查队列
- 立即处理process_telegram_prompt()
- 将用户提示优先于自动化任务
#### 5. 服务健康监控:
定期验证服务:
test_services()
get_service_status(service="telegram")
### 高级模式的好处:
- 用户可以通过Telegram随时发送任务
- AI自动处理排队请求
- 没有人工干预的连续工作流程
- 全面的进度跟踪
- 在用户指导下恢复错误
添加到您的MCP配置文件:
配置文件位置:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.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"
}
}
}
}
⚠️ 注意:配置后,请完全重启您的AI助手。
对于希望修改代码的开发者:
git clone https://github.com/keoy7am/NotifyMeMaybe.git
cd NotifyMeMaybe
npm install
npm run build
/newbothttps://api.telegram.org/bot<TOKEN>/getUpdatesTELEGRAM_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
send_notification:发送到特定服务broadcast_notification:发送到所有服务request_interaction_sync:同步用户互动test_services:检查所有服务的健康状况get_telegram_prompts:检索待处理提示process_telegram_prompt:处理Telegram提示欢迎贡献!请:
MIT许可证 - 详情见LICENSE文件。
npm view notify-me-maybe-mcp
npx notify-me-maybe-mcp # 直接使用
NotifyMeMaybe - 让AI与人类的互动无缝衔接!🚀
💡 小贴士:配置后别忘了重启您的AI助手!