推送通知服务

一个基于Model Context Protocol (MCP)的服务器,使AI助手能够通过ntfy.sh发送推送通知,适用于实时通知集成到AI工作流程中。

  • by mounta11n
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 mounta11n/ntfy-mcp-server

使用说明

ntfy MCP服务器

A. 模型上下文协议(MCP) 服务器,使AI助手能够通过以下方式发送推送通知 ntfy.sh。此服务器提供了一种将实时通知集成到AI工作流中的简单方法,允许您在手机、桌面或任何支持ntfy.sh的设备上接收警报。

什么是ntfy.sh?

ntfy.sh 是一个简单的基于HTTP的发布-订阅通知服务,允许您向设备发送推送通知。它特别适用于:

  • 在长时间运行的任务完成时收到通知
  • 接收来自自动化工作流的警报
  • 随时了解应用程序中的重要事件

特性

  • 向任何ntfy.sh频道发送消息
  • 支持消息标题、优先级(1-5)和标签
  • 与MCP兼容的AI助手简单集成
  • 公共频道不需要身份验证

安装

  1. 安装依赖项:
npm install --save-dev typescript @types/node ts-node
  1. 构建TypeScript代码:
npm run build
  1. MCP服务器现在可以在 ./build/index.js

用法

运行服务器

构建后,您可以直接运行服务器:

npm start

或者将您的MCP客户端指向内置服务器 ./build/index.js.

可用工具

服务器提供了一个工具:

send_message

向指定的ntfy.sh通道发送消息。

参数:

  • channel (必填):要向其发送消息的ntfy.sh通道名称
  • message (必填):要发送的消息内容
  • title (可选):通知的标题
  • priority (可选):优先级1-5(5为最高优先级)
  • tags (可选):用于对消息进行分类的标签数组

MCP客户端中的示例用法:

{
  "tool": "send_message",
  "arguments": {
    "channel": "my-notifications",
    "message": "Task completed successfully!",
    "title": "Workflow Update",
    "priority": 4,
    "tags": ["automation", "success"]
  }
}

配置

不需要额外的配置。服务器在以下位置使用公共ntfy.sh服务 https://ntfy.sh/.

通道名称

  • 频道名称可以是任何字符串,但应该是唯一的,以避免冲突
  • 考虑使用描述性名称,如 my-project-alerts 或 personal-notifications
  • 任何知道你的频道名称的人都可以向它发送消息,所以请明智地选择

发展

生成脚本

  • npm run build -将TypeScript编译为JavaScript
  • npm run build:linux -在Linux上构建并使其可执行
  • npm run build:windows -为Windows构建
  • npm start -运行已编译的服务器

项目结构

许可证

看 许可证 文件以获取详细信息。