返回市场
MCP服务器通知器

MCP服务器通知器

作者:tuberrabbit4 星标更新:2025-06-19

项目介绍

MCP Server Notifier

一个轻量级的通知服务,与MCP(模型上下文协议)集成,在AI代理完成任务时发送网络钩子。

简体中文文档

MCP Server Notifier

作者

最初由tuberrabbit@gmail.com创建。
目前由zudsniper维护。

特性

  • 网络钩子通知:当您的AI代理完成任务时接收警报
  • 多个网络钩子提供商:支持Discord、Slack、Microsoft Teams、Feishu、Ntfy以及自定义网络钩子
  • 图像支持:通过Imgur在通知中包含图像
  • 多项目支持:高效管理不同项目的通知
  • 简单集成:使用如Cursor等AI工具进行简单设置
  • 可定制消息:发送带有标题、正文和链接的个性化通知

安装

方案1:使用npm

npm install -g mcp-server-notifier

方案2:使用Docker

docker pull zudsniper/mcp-server-notifier:latest

# 使用环境变量运行
docker run -e WEBHOOK_URL=https://your-webhook-url -e WEBHOOK_TYPE=discord zudsniper/mcp-server-notifier

方案3:从源代码安装

git clone https://github.com/zudsniper/mcp-server-notifier.git
cd mcp-server-notifier
npm install
npm run build

集成

Cursor集成

  1. 前往您的'Cursor设置'
  2. 点击侧边栏中的MCP,然后点击+ 添加新的全局MCP服务器
  3. 添加mcp-server-notifier
{
   "mcpServers": {
      "notifier": {
         "command": "npx",
         "args": [
            "-y",
            "mcp-server-notifier"
         ],
         "env": {
            "WEBHOOK_URL": "https://ntfy.sh/webhook-url-example",
            "WEBHOOK_TYPE": "ntfy"
         }
      }
   }
}

配置

默认情况下,通知器支持几种网络钩子类型:

  • Discord
  • Slack
  • Microsoft Teams
  • Feishu
  • Ntfy
  • 通用JSON

您可以通过环境变量指定网络钩子类型和URL:

env WEBHOOK_URL="https://your-webhook-url" WEBHOOK_TYPE="discord" npx -y mcp-server-notifier

认证令牌

WEBHOOK_TOKEN是一个可选的环境变量。当设置时,它将作为Bearer令牌包含在仅针对ntfy网络钩子请求的Authorization头中。如果未设置WEBHOOK_TOKEN,则不发送任何授权头。

  • 基本认证不被支持。
  • 此令牌被所有其他网络钩子提供商(Discord、Slack、Teams、Feishu、通用JSON)忽略。

示例:

env WEBHOOK_URL="https://ntfy.sh/your-topic" WEBHOOK_TYPE="ntfy" WEBHOOK_TOKEN="your-secret-token" npx -y mcp-server-notifier

配置文件

对于更高级的配置,您可以创建一个webhook-config.json文件:

{
  "webhook": {
    "type": "discord",
    "url": "https://discord.com/api/webhooks/your-webhook-url",
    "name": "My Notifier"
  },
  "imgur": {
    "clientId": "your-imgur-client-id"
  }
}

详情和示例,请参阅配置指南

使用方法

  • 要求您的AI代理在任务完成后用自定义消息通知您
  • 在Cursor设置中将其配置为持久规则以避免重复设置

详细使用说明,请参阅使用指南

可用工具

  1. notify
    • 目的:向任何已配置的网络钩子发送丰富的通知
    • 输入
      • message - 通知的文本内容
      • title(可选)- 通知的标题
      • link(可选)- 包含在通知中的URL(用于ntfy的点击操作)
      • imageUrl(可选)- 要包含的图片URL(遗留,建议使用imageattachments
      • image(可选)- 要上传到Imgur的本地图片文件路径
      • priority(可选,仅限ntfy)- 通知优先级(1-5)
      • attachments(可选,仅限ntfy)- 要附加的URL数组
      • template(可选,仅限ntfy)- 使用预定义模板:状态、问题、进度、问题
      • templateData(可选,仅限ntfy)- 填充所选模板的数据
      • actions(可选,仅限ntfy)- 操作按钮定义数组(viewhttp
    • 最佳用途:一般通知需求

注意:模板功能目前正在开发中,并且支持有限。模板最适合与ntfy.sh一起使用,但可能尚未完全实现所有网络钩子提供者。有关未来实施计划,请参阅ROADMAP.md文件。

NTFY模板

当使用ntfy.sh作为您的网络钩子提供商时,可以使用以下预定义模板:

  1. 状态模板status

    • 目的:发送关于系统、过程或任务的状态更新
    • 数据字段
      • status - 当前状态(例如,“在线”、“已完成”、“待处理”)
      • details(可选)- 关于状态的额外信息
      • timestamp(可选)- 记录此状态的时间
      • component(可选)- 这个状态适用的系统组件
  2. 问题模板question

    • 目的:提出需要回答的问题
    • 数据字段
      • question - 提出的主要问题
      • context(可选)- 问题的背景信息
      • options(可选)- 可能的答案选项
      • deadline(可选)- 需要在何时之前回复
  3. 进度模板progress

    • 目的:跟踪长时间运行的任务的进度
    • 数据字段
      • title - 任务或过程的名称
      • current - 当前进度值
      • total - 达到完成所需的总值
      • percentage(可选)- 明确的百分比值(如果没有提供,则计算得出)
      • eta(可选)- 预计完成时间
      • details(可选)- 关于进度的额外信息
  4. 问题模板problem

    • 目的:报告错误或问题
    • 数据字段
      • title - 问题的简短描述
      • description(可选)- 问题的详细信息
      • severity(可选)- 问题的严重程度(例如,“关键”,“警告”)
      • source(可选)- 问题的来源
      • timestamp(可选)- 问题发生的时间
      • solution(可选)- 解决问题的建议方法

使用模板的示例

// 发送进度通知
{
  "template": "progress",
  "templateData": {
    "title": "数据库备份",
    "current": 75,
    "total": 100,
    "eta": "剩余2分钟",
    "details": "正在压缩备份文件"
  },
  "priority": 3
}

Docker支持

MCP Server Notifier可用作Docker镜像:

docker pull zudsniper/mcp-server-notifier:latest

使用环境变量运行:

docker run -e WEBHOOK_URL=https://your-webhook-url -e WEBHOOK_TYPE=discord zudsniper/mcp-server-notifier

示例配置

示例网络钩子配置可在examples目录中找到。

开发

设置开发环境

  1. 克隆仓库:
git clone https://github.com/zudsniper/mcp-server-notifier.git
cd mcp-server-notifier
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

测试更改

  1. 在开发模式下运行MCP服务器:
# 如果还没有安装MCP Inspector,请先安装
npm install -g @modelcontextprotocol/inspector

# 使用Inspector启动服务器
npx @modelcontextprotocol/inspector node build/index.js
  1. Inspector提供了一个Web界面,您可以在其中:
    • 向您的工具发送请求
    • 查看请求/响应日志
    • 调试实现中的问题

发布新版本

要发布新版本:

  1. 更新package.json中的版本号
  2. 将更改推送到release分支
  3. GitHub Actions将自动执行以下操作:
    • 运行测试
    • 构建并推送Docker镜像
    • 发布到npm
    • 创建GitHub Release

CI/CD所需仓库密钥:

  • DOCKERHUB_USERNAME - Docker Hub用户名
  • DOCKERHUB_TOKEN - Docker Hub访问令牌
  • NPM_TOKEN - npm访问令牌

许可证

MIT许可证 - 详情见LICENSE文件。

贡献

欢迎贡献!请随时提交Pull Request。

此MCP已通过MCP Review认证。
认证页面:https://mcpreview.com/mcp-servers/tuberrabbit/mcp-server-notifier