NotifyMe MCP 服务器
一个通过(某种方式)发送通知的MCP(模型上下文协议)服务器 ntfy.sh(注:这是一个域名或服务名,直接翻译可能无法准确传达其含义,通常保持原样使用) 当您的大型语言模型(LLM)完成生成标记时。非常适合需要在长时间运行的LLM任务完成时接收通知的情况。
特点/特性
- 通过 ntfy 向您的设备发送推送通知
- 可自定义的通知消息、标题、优先级和标签
- 与任何MCP兼容客户端的简单集成
- 需要配置文件 使用您的ntfy服务器URL
- 配置文件被设置为git忽略,以保护您的服务器URL不被公开
- 成功时保持静默,仅在错误时提醒大型语言模型(LLM)
安装
选项1:从npm安装(发布后)
npm install -g notifymemcp选项2:从源代码安装
git clone https://github.com/dmgoldstein1/NotifyMeMCP.git
cd NotifyMeMCP
npm install
npm run build配置
设置您的ntfy服务器
要求: 你必须创建一个 notifyMeMCPconfig.json 在运行MCP服务器之前,请先准备文件。
- 复制示例配置文件:
cp config.example.json notifyMeMCPconfig.json- 编辑
notifyMeMCPconfig.json使用您的 ntfy 服务器 URL:
{
"ntfyBaseUrl": "https://ntfy.sh",
"defaultTopic": "llm-notifications"
}- 这个(或“它”)
notifyMeMCPconfig.jsonGit 会自动忽略该文件,以保护您的服务器 URL 的隐私。
配置选项:
ntfyBaseUrl(所需的;要求的): 您的ntfy服务器URL(例如。,https://ntfy.sh或者https://your-server.com)defaultTopic(可选):默认主题名称。默认为llm-notifications
快速入门
1. 在您的设备上设置ntfy.sh
- 在您的手机上安装ntfy应用iOS / Android)
- 订阅一个主题(例如。,
llm-notifications) - 或者访问网页界面于 ntfy.sh(可直接作为域名使用,通常用于指向一个通知服务或平台,具体翻译可能根据上下文调整,但此处保留原样以体现其作为特定服务名称的特性)
2. 在您的客户端中配置MCP服务器
对于VS Code的GitHub Copilot
步骤1:配置MCP服务器
如果直接使用此存储库: A. .vscode/settings.json 文件已包含在仓库中,并且具有正确的工作区配置。只需在VS Code中打开此文件夹即可 重新加载窗口 (命令面板 → “开发者: 重新加载窗口”) 来激活MCP服务器。
为了在所有项目中实现全局访问: 添加到你的 用户设置 (~/Library/Application Support/Code/User/settings.json 在 macOS 上, %APPDATA%\Code\User\settings.json (在Windows上):
{
"mcp.servers": {
"notifyme": {
"command": "node",
"args": ["/absolute/path/to/NotifyMeMCP/dist/index.js"]
}
}
}对于其他项目: 创建一个 .vscode/settings.json 项目中的文件:
{
"mcp.servers": {
"notifyme": {
"command": "node",
"args": ["${workspaceFolder}/path/to/NotifyMeMCP/dist/index.js"]
}
}
}步骤2:添加Copilot指令
添加到您的Copilot指令中(见 COPILOT_INSTRUCTIONS.md (例如):
Always call the send_notification MCP tool as the very last step after completing any task or response.对于Claude Desktop或Cline
添加到您的MCP设置配置文件中(参见 claude_desktop_config.example.json (用于模板):
MacOS(麦金塔操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"notifyme": {
"command": "node",
"args": ["/path/to/NotifyMeMCP/dist/index.js"]
}
}
}或者如果通过 npm 全局安装:
{
"mcpServers": {
"notifyme": {
"command": "notifyme-mcp"
}
}
}3. 测试服务器
测试通知功能是否正常工作:
# Test sending a notification directly to ntfy.sh
node scripts/endpoint-test.mjs my-topic "Hello from NotifyMe!"
# Or use the default topic
node scripts/endpoint-test.mjs你也可以直接测试MCP服务器:
npm run dev然后,在另一个终端中,您可以使用MCP检查器或通过stdio手动进行测试。
使用方法
服务器提供了一个单一的工具: send_notification
参数
所有参数均为可选:
- 信息 (字符串):通知消息正文
- 默认: "LLM has finished generating"
- 标题 (字符串):通知标题
- 默认值: "LLM Complete"
- 优先级 (数字):优先级,从1(最低)到5(最高)
- 默认值: 3
- 标签 (字符串数组):通知的标签(表情符号或文本)
- 默认: ["white_check_mark", "robot"] - 见 ntfy.sh 标签 对于可用选项
- 主题;话题 (字符串): 自定义 ntfy.sh 主题名称
- 默认: "llm-notifications"
示例工具调用
基本通知(使用所有默认设置)
{
"name": "send_notification",
"arguments": {}
}自定义通知
{
"name": "send_notification",
"arguments": {
"message": "Your code review is complete!",
"title": "Code Review Done",
"priority": 4,
"tags": ["sparkles", "computer"],
"topic": "my-llm-notifications"
}
}其工作原理
- MCP服务器公开了
send_notification工具适用于任何连接的LLM客户端 - 当被调用时,它会发送一个HTTP POST请求到
https://ntfy.sh/{topic} - ntfy.sh 立即将通知推送给所有订阅了该主题的设备
- 您的手机/电脑上收到了通知!
隐私与安全
- 此服务器默认使用公共的ntfy.sh服务
- 通知通过HTTPS发送
- 自定义服务器URL存储在
notifyMeMCPconfig.json,该文件已被添加到 git 忽略列表中以保护您的隐私 - 这个(或那个,具体取决于上下文,因为“the”是一个冠词,后面通常接名词,所以这里需要一个名词来完成句子,但在此处单独作为翻译时,可理解为泛指或特指某个未明确提及的事物)
notifyMeMCPconfig.json文件从未提交到仓库 - 考虑使用唯一/随机的主题名称以增加隐私保护
发展
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build
npm run build
# Run built version
npm start故障排除
服务器无法启动:
- 确保您已经创建了
notifyMeMCPconfig.json(从……复制config.example.json) - 验证
ntfyBaseUrl设置在您的notifyMeMCPconfig.json - 检查JSON语法是否正确
notifyMeMCPconfig.json是有效的
通知未收到?
- 检查来自MCP工具的错误信息——如果服务器有问题,它会向您发出警报
- 验证您的
ntfyBaseUrl在notifyMeMCPconfig.json是正确且可访问的 - 确保您的设备已订阅ntfy应用中的正确主题
- 验证服务器和您的订阅之间的主题名称是否匹配
- 尝试直接在浏览器中访问您的ntfy服务器URL
MCP服务器无法连接?
- 检查MCP配置中的服务器路径
- 在客户端日志中查找错误信息
- 验证 Node.js 是否已安装并已添加到您的 PATH 中
- 确保
notifyMeMCPconfig.json存在于项目根目录中
做出贡献
欢迎贡献!请随时提交拉取请求。
许可证
麻省理工学院(MIT)
