mcpField
M
MCP Server Notifier

MCP Server Notifier

本地服务
github.com/tuberrabbit开发工具471 周前更新

关于 MCP Server Notifier

MCP Server Notifier 是面向使用 AI Agent 的开发者的 Node.js 通知服务,可在任务完成时发送 Webhook 通知。它支持多种通知渠道、多项目配置和可定制消息。

主要功能

  1. 01向多种 Webhook 服务发送通知
  2. 02支持多项目通知管理
  3. 03自定义标题、正文和链接
  4. 04通过 Imgur 添加图片
  5. 05支持 Ntfy 优先级和附件

适用场景

  1. 01在 AI Agent 完成任务时接收提醒
  2. 02同时跟踪多个项目的任务
  3. 03向通知中加入任务链接或图片

MCP 相关

该 MCP 服务提供 notify 工具,供 MCP 客户端发送格式丰富的 Webhook 通知。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"notifier": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"pull"
]
}
}
}
启动命令docker run -i --rm pull

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocipull

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Server Notifier

一款轻量级通知服务,可与 MCP(Model Context Protocol)集成,在 AI Agent 完成任务时发送 Webhook 通知。

简体中文文档

MCP Server Notifier

作者

最初由 [email protected] 创建。
目前由 zudsniper 维护。

功能

  • Webhook 通知:在 AI Agent 完成任务时接收提醒
  • 多种 Webhook 提供方:支持 Discord、Slack、Microsoft Teams、Feishu、Ntfy 和自定义 Webhook
  • 图片支持:通过 Imgur 在通知中添加图片
  • 多项目支持:高效管理不同项目的通知
  • 轻松集成:可与 Cursor 等 AI 工具轻松完成设置
  • 可自定义消息:发送包含标题、正文和链接的个性化通知

安装

选项 1:使用 npm
npm install -g mcp-server-notifier
选项 2:使用 Docker
docker pull zudsniper/mcp-server-notifier:latest

# Run with environment variables
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 Settings”
  2. 点击侧边栏中的 MCP,然后点击 + Add new global MCP server
  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"
         }
      }
   }
}

配置

默认情况下,通知器支持多种 Webhook 类型:

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

你可以通过环境变量指定 Webhook 类型和 URL:

env WEBHOOK_URL="https://your-webhook-url" WEBHOOK_TYPE="discord" npx -y mcp-server-notifier
身份验证令牌

WEBHOOK_TOKEN 是一个可选环境变量。设置后,它仅会在 ntfy Webhook 请求中作为 Bearer 令牌添加到 Authorization 标头中。如果未设置 WEBHOOK_TOKEN,则不会发送 Authorization 标头。

  • 不支持基本身份验证。
  • 所有其他 Webhook 提供方(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 Agent 在任务完成时通过自定义消息通知你
  • 在 Cursor 设置中将其配置为持久规则,避免重复设置

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

可用工具
  1. notify
    • 用途:向任何已配置的 Webhook 发送富媒体通知
    • 输入:
      • message - 通知的文本内容
      • title(可选)- 通知标题
      • link(可选)- 通知中包含的 URL(在 ntfy 中用作点击操作)
      • imageUrl(可选)- 要包含的图片 URL(旧版参数,请使用 image 或 attachments)
      • image(可选)- 要上传到 Imgur 的图片本地文件路径
      • priority(可选,仅限 ntfy)- 通知优先级(1-5)
      • attachments(可选,仅限 ntfy)- 要附加的 URL 数组
      • template(可选,仅限 ntfy)- 要使用的预定义模板:status、question、progress、problem
      • templateData(可选,仅限 ntfy)- 用于填充所选模板的数据
      • actions(可选,仅限 ntfy)- 操作按钮定义数组(view 或 http)
    • 最适用场景:一般通知需求

**注意:**模板功能目前仍在开发中,支持有限。模板在 ntfy.sh 上效果最佳,但可能尚未在所有 Webhook 提供方中完整实现。有关未来实现计划,请参阅 ROADMAP.md 文件。

NTFY 模板

使用 ntfy.sh 作为 Webhook 提供方时,可以使用以下预定义模板:

  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(可选)- 建议的解决方法

使用模板的示例:

// Send a progress notification
{
  "template": "progress",
  "templateData": {
    "title": "Database Backup",
    "current": 75,
    "total": 100,
    "eta": "2 minutes remaining",
    "details": "Compressing backup files"
  },
  "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

配置示例

Webhook 配置示例位于 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 服务:
# Install the MCP Inspector if you haven't already
npm install -g @modelcontextprotocol/inspector

# Start the server with the 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。