使用说明

项目简介

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 扩展) 的服务器配置中,按照以下步骤配置:

  1. 打开 MCP 客户端的配置文件 (例如 VS Code 的 'settings.json')。
  2. 添加服务器配置。在 '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"
    }
  }
}

基本使用方法

  1. 安装 ntfy 客户端: 在您的手机或桌面设备上安装 ntfy 客户端应用

  2. 订阅主题: 在 ntfy 客户端中订阅您在服务器配置中设置的 'NTFY_TOPIC'。

  3. 在 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 文档

信息

分类

通信与社交