项目简介

ntfy-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的简单服务器,旨在为 LLM 客户端提供任务完成通知功能。当 AI 助手完成指定任务后,该服务器会通过 ntfy 服务向用户发送通知,方便用户及时了解任务进度,无需持续关注终端或界面。

主要功能点

  • 任务完成通知: 通过 'notify_user' 工具,当 LLM 客户端调用该工具并提供任务标题和摘要时,服务器会向预设的 ntfy 主题发送通知。
  • 易于部署: 基于 Node.js 开发,易于安装和配置,可快速部署到本地或服务器环境。
  • 标准 MCP 协议: 遵循 MCP 协议标准,可与任何兼容 MCP 协议的 LLM 客户端配合使用。
  • 使用 ntfy 服务: 利用成熟的 ntfy 通知服务,支持多种客户端平台,保证通知的及时性和可靠性。

安装步骤

  1. 克隆仓库

    git clone https://github.com/teddyzxcv/ntfy-mcp.git
    cd ntfy-mcp
  2. 安装依赖

    npm install
  3. 构建项目

    npm run build
  4. 配置环境变量

    创建 '.env' 文件,并添加 'NTFY_TOPIC' 环境变量,设置为你的 ntfy 主题名称。你需要先在 ntfy 应用或客户端上订阅该主题才能接收通知。

    NTFY_TOPIC=<your topic name>
  5. 启动服务器

    npm start

    服务器成功启动后,将在控制台输出 'ntfy-mcp-server running on stdio'。

服务器配置

对于 MCP 客户端,你需要配置连接到 ntfy-mcp-server 的命令。以下是 Cline 客户端的配置示例,其他 MCP 客户端的配置方式类似:

{
  "ntfy-mcp": {
    "command": "node",  // 启动服务器的命令,这里使用 node.js 运行时
    "args": [
      "~/Documents/project/ntfy-mcp/build/index.js" // 服务器入口文件路径,请根据实际路径修改
    ],
    "env": {
      "NTFY_TOPIC": "<your topic name>" //  ntfy 主题名称,需要与 .env 文件中配置的一致
    },
    "autoApprove": [
      "notify_user" // 自动允许客户端调用 notify_user 工具,避免每次调用都需要手动批准
    ]
  }
}

注意:

  • 请将 '~/Documents/project/ntfy-mcp/build/index.js' 替换为 'index.js' 文件在您系统中的实际路径。
  • '<your topic name>' 需要替换为您在 ntfy 上创建或订阅的主题名称。
  • 'autoApprove' 字段用于自动允许客户端调用指定的工具,简化使用流程,生产环境请谨慎配置。

基本使用方法

在 LLM 客户端中,当需要发送任务完成通知时,指示模型调用 'notify_user' 工具,并在 Prompt 中包含类似 "notify me when the task is done" 或 "任务完成后请通知我" 的指令。例如:

Write me a hello world in python, notify me when the task is done

模型理解指令后,会调用 'notify_user' 工具,并将任务标题和摘要作为参数传递给服务器。服务器收到请求后,会通过 ntfy 服务向用户发送通知。

请确保已安装并配置 ntfy 客户端(如手机 App),并订阅了在 '.env' 文件中设置的 'NTFY_TOPIC' 主题,才能接收到通知。

信息

分类

通信与社交