项目简介
ntfy-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的简单服务器,旨在为 LLM 客户端提供任务完成通知功能。当 AI 助手完成指定任务后,该服务器会通过 ntfy 服务向用户发送通知,方便用户及时了解任务进度,无需持续关注终端或界面。
主要功能点
- 任务完成通知: 通过 'notify_user' 工具,当 LLM 客户端调用该工具并提供任务标题和摘要时,服务器会向预设的 ntfy 主题发送通知。
- 易于部署: 基于 Node.js 开发,易于安装和配置,可快速部署到本地或服务器环境。
- 标准 MCP 协议: 遵循 MCP 协议标准,可与任何兼容 MCP 协议的 LLM 客户端配合使用。
- 使用 ntfy 服务: 利用成熟的 ntfy 通知服务,支持多种客户端平台,保证通知的及时性和可靠性。
安装步骤
-
克隆仓库
git clone https://github.com/teddyzxcv/ntfy-mcp.git cd ntfy-mcp -
安装依赖
npm install -
构建项目
npm run build -
配置环境变量
创建 '.env' 文件,并添加 'NTFY_TOPIC' 环境变量,设置为你的 ntfy 主题名称。你需要先在 ntfy 应用或客户端上订阅该主题才能接收通知。
NTFY_TOPIC=<your topic name> -
启动服务器
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' 主题,才能接收到通知。
信息
分类
通信与社交