使用说明
项目简介
ntfy-me-mcp 是一个基于 Model Context Protocol (MCP) 构建的服务器,它扩展了 AI 助手的能力,使其能够通过 ntfy 服务向您的设备发送实时通知。无论是在任务完成、遇到错误还是达到重要里程碑时,您都可以及时收到通知,无需持续监控。
主要功能点
- 实时通知: AI 助手可以在任务完成或发生特定事件时,立即向您的手机或桌面设备发送通知。
- 丰富的通知内容: 支持自定义通知标题、正文、优先级和标签 (包括 Emoji 表情)。
- 安全: 支持通过访问令牌进行身份验证,保护您的通知主题。
- 灵活配置: 可以连接到公共的 ntfy 服务器 (ntfy.sh) 或自托管的 ntfy 服务器。
- 快速启动: 可以通过 'npx' 或 Docker 快速部署和运行。
安装步骤
推荐使用 'npx' 或 Docker 方式运行,无需额外安装,简单快捷。
方法一:使用 npx (推荐)
确保您的系统中已安装 Node.js 和 npm (通常 npm 会随 Node.js 一起安装)。
在 MCP 客户端 (如 VS Code MCP 扩展) 的服务器配置中,按照以下步骤配置:
- 打开 MCP 客户端的配置文件 (例如 VS Code 的 'settings.json')。
- 添加服务器配置。在 'servers' 字段中,添加 'ntfy-me-mcp' 服务器的配置信息。
服务器配置 (MCP 客户端)
以下是 MCP 客户端需要配置的服务器启动信息,请复制到您的 MCP 客户端配置文件中。
最小化配置 (适用于 ntfy.sh 公共主题)
{ "ntfy-me-mcp": { "command": "npx", "args": ["ntfy-me-mcp"], "env": { "NTFY_TOPIC": "your-topic-name" // 替换为您的 ntfy 主题名称 } } }
完整配置 (适用于私有服务器或受保护主题)
{ "ntfy-me-mcp": { "command": "npx", "args": ["ntfy-me-mcp"], "env": { "NTFY_TOPIC": "your-topic-name", // 替换为您的 ntfy 主题名称 "NTFY_URL": "https://your-ntfy-server.com", // 可选: 如果使用自托管 ntfy 服务器,请替换为您的服务器 URL "NTFY_TOKEN": "${input:ntfy_token}" // 可选: 如果主题受保护,使用此项并配置 VS Code 输入 } } }
安全地处理 Token (推荐)
如果您使用受保护的主题,建议使用 VS Code 的输入功能安全地管理 Token。在 'settings.json' 中添加以下配置:
"mcp": { "inputs": [ { "type": "promptString", "id": "ntfy_token", "description": "Ntfy Token", "password": true } ], "servers": { // ... 其他服务器配置 ... "ntfy-me-mcp": { "command": "npx", "args": ["ntfy-me-mcp"], "env": { "NTFY_TOPIC": "your-topic-name", "NTFY_URL": "https://your-ntfy-server.com", "NTFY_TOKEN": "${input:ntfy_token}", // 使用输入 ID 引用 Token "PROTECTED_TOPIC": "true" // 标记主题为受保护,提示输入 Token } } } }
方法二:使用 Docker
确保您的系统中已安装 Docker。
在 MCP 客户端的服务器配置中,使用 Docker 命令运行 ntfy-me-mcp 镜像:
{ "ntfy-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "NTFY_TOPIC", "-e", "NTFY_URL", "-e", "NTFY_TOKEN", "-e", "PROTECTED_TOPIC", "gitmotion/ntfy-me-mcp" // 或 ghcr.io/gitmotion/ntfy-me-mcp:latest ], "env": { "NTFY_TOPIC": "your-topic-name", // 替换为您的 ntfy 主题名称 "NTFY_URL": "https://your-ntfy-server.com", // 可选: 如果使用自托管 ntfy 服务器,请替换为您的服务器 URL "NTFY_TOKEN": "${input:ntfy_token}", // 可选: 如果主题受保护,使用此项并配置 VS Code 输入 "PROTECTED_TOPIC": "true" } } }
基本使用方法
-
安装 ntfy 客户端: 在您的手机或桌面设备上安装 ntfy 客户端应用。
-
订阅主题: 在 ntfy 客户端中订阅您在服务器配置中设置的 'NTFY_TOPIC'。
-
在 AI 助手中使用: 在与 AI 助手对话时,可以使用 '#ntfy_me' 工具发送通知。例如:
#ntfy_me({ taskTitle: "任务完成", taskSummary: "React 组件代码已生成。", priority: "high", tags: ["check", "rocket"] })AI 助手在执行到 '#ntfy_me' 工具调用时,将会通过 ntfy 服务向您的设备发送通知。
工具参数说明 ('ntfy_me')
| 参数名 | 描述 | 是否必需 | |---------------|--------------------------|--------| | 'taskTitle' | 通知标题 | 是 | | 'taskSummary' | 通知内容 | 是 | | 'priority' | 通知优先级 (min, low, default, high, max) | 否 | | 'tags' | 通知标签 (支持 Emoji 短代码) | 否 |
Emoji 短代码示例: 'warning' (⚠️), 'check' (✅), 'rocket' (🚀), 'tada' (🎉) 等。 完整列表请参考 ntfy Emoji 文档。
信息
分类
通信与社交