mcpField
P
Pushover MCP

Pushover MCP

本地服务
npmjs.com通信协作434 天前更新

关于 Pushover MCP

Pushover MCP 是一个 MCP 服务,让 AI Agent 通过 Pushover 向手机和桌面发送通知。它支持格式化消息、图片附件,以及可查询或取消的紧急提醒。

主要功能

  1. 01发送富文本推送通知
  2. 02设置优先级、声音和设备
  3. 03附加图片或链接
  4. 04查询并取消紧急提醒
  5. 05通过 stdio 或 HTTP 运行

适用场景

  1. 01通知 Agent 任务或事件
  2. 02发送需要确认的紧急提醒

MCP 相关

它向 MCP 客户端提供 Pushover 通知工具,包括发送消息和管理紧急通知回执。服务支持 stdio 和 HTTP 传输。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"pushover": {
"command": "npx",
"args": [
"-y",
"pushover-mcp"
]
}
}
}
启动命令npx -y pushover-mcp

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

安装包
npmpushover-mcp

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
messagestring是
titlestring否
prioritynumber否
soundstring否
urlstring否
url_titlestring否
devicestring否

详细介绍

Pushover MCP

npm CI

一个 MCP 服务,可让 AI Agent 通过 Pushover 向你的手机和桌面设备发送推送通知。

Claude Code 运行测试并部署,在每一步都向手机发送 Pushover 通知,随后发送一条紧急警报,Agent 会看到该警报已被确认
  • 丰富的通知: 标题、链接、声音、设备、HTML 或等宽文本、图片附件
  • 紧急警报: 持续重复发送,直到得到确认;之后可查询或取消
  • 自动纠错: 提供清晰的工具错误信息,便于 Agent 采取相应操作
  • stdio 或 HTTP: 默认在本地运行,也可作为共享 HTTP 服务运行

快速开始

  1. 从 Pushover 获取两个密钥:
  2. 将该服务添加到你的客户端(见下文),并替换 YOUR_TOKEN 和 YOUR_USER_KEY。
  3. 让你的 Agent 向你发送通知。

需要 Node.js 22 或更高版本。

设置

Claude Code
claude mcp add pushover -e PUSHOVER_TOKEN=YOUR_TOKEN -e PUSHOVER_USER=YOUR_USER_KEY -- npx -y pushover-mcp@latest
OpenAI Codex
codex mcp add pushover --env PUSHOVER_TOKEN=YOUR_TOKEN --env PUSHOVER_USER=YOUR_USER_KEY -- npx -y pushover-mcp@latest
Claude Desktop、Cursor、Cline

将以下内容添加到客户端的 MCP 配置文件中:

{
  "mcpServers": {
    "pushover": {
      "command": "npx",
      "args": ["-y", "pushover-mcp@latest"],
      "env": {
        "PUSHOVER_TOKEN": "YOUR_TOKEN",
        "PUSHOVER_USER": "YOUR_USER_KEY"
      }
    }
  }
}
客户端查看位置
Claude DesktopSettings → Developer → Edit Config
Cursor~/.cursor/mcp.json,或项目中的 .cursor/mcp.json
ClineMCP Servers → Configure MCP Servers
VS Code

添加 .vscode/mcp.json。VS Code 会提示你输入密钥一次,并安全地存储它们:

{
  "inputs": [
    { "type": "promptString", "id": "pushover-token", "description": "Pushover app token", "password": true },
    { "type": "promptString", "id": "pushover-user", "description": "Pushover user key", "password": true }
  ],
  "servers": {
    "pushover": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "pushover-mcp@latest"],
      "env": {
        "PUSHOVER_TOKEN": "${input:pushover-token}",
        "PUSHOVER_USER": "${input:pushover-user}"
      }
    }
  }
}
Zed

将以下内容添加到 Zed 的 settings.json 中,或使用 Settings → AI → MCP Servers → Add Local Server:

{
  "context_servers": {
    "pushover": {
      "command": "npx",
      "args": ["-y", "pushover-mcp@latest"],
      "env": {
        "PUSHOVER_TOKEN": "YOUR_TOKEN",
        "PUSHOVER_USER": "YOUR_USER_KEY"
      }
    }
  }
}

工具

工具功能
send_notification发送通知。紧急通知会返回回执。
get_receipt检查紧急通知是否已得到确认。
cancel_emergency根据回执或标签,停止重复发送紧急通知。
list_sounds列出可用声音,包括你的自定义声音。
validate_user检查你的用户密钥并列出设备名称。
get_limits显示你的每月消息配额和剩余数量。
send_notification 参数

只有 message 是必填项。

参数说明
message通知正文,最多 1024 个字符。
title默认为你的 Pushover 应用名称。
priority-2 静默,-1 安静,0 普通,1 高优先级,2 紧急。
sound来自 list_sounds 的声音名称。
device目标设备名称;多个设备用逗号分隔。默认为已配置的默认设备,或所有设备。
url, url_title链接及其可选标签。
html渲染 <b>、<i>、<u>、<font color> 和 <a href>。
monospace使用等宽字体渲染。不能与 html 同时使用。
ttl通知从设备上删除前的秒数。紧急通知(优先级 2)会忽略此参数。
timestamp用于显示的 ISO 8601 时间,替代通知接收时间。
attachment_path要附加的本地图片(jpg、png、gif、webp、heic),最大 5 MB。仅限 stdio。
attachment_base64, attachment_typeBase64 图片数据及其 MIME 类型。
retry, expire仅限紧急通知。重复间隔秒数(默认 60,最小 30)以及停止前的秒数(默认 3600,最大 10800)。
callback仅限紧急通知。你确认通知后,Pushover 会调用此 URL。
tags仅限紧急通知。用于通过 cancel_emergency 取消通知的标签。

配置

将选项设为环境变量或命令行标志。标志优先,但机器上的任何人都能在进程列表中看到它们,因此机密信息应优先使用环境变量。

环境变量标志说明
PUSHOVER_TOKEN--token必需。 应用 API 令牌。
PUSHOVER_USER--user必需。 用户或群组密钥。
PUSHOVER_DEFAULT_DEVICE--default-device调用未指定设备时使用的设备。
PUSHOVER_DEFAULT_SOUND--default-sound调用未指定声音时使用的声音。
PUSHOVER_DEFAULT_PRIORITY--default-priority调用未设置优先级时使用的优先级:-2 至 1。
PUSHOVER_MCP_TRANSPORT--transportstdio(默认)或 http。
PUSHOVER_MCP_HOST--hostHTTP 绑定地址。默认值为 127.0.0.1。
PUSHOVER_MCP_PORT 或 PORT--portHTTP 端口。默认值为 3000。
PUSHOVER_MCP_AUTH_TOKEN--auth-tokenHTTP 客户端必须发送的 Bearer 令牌。

运行 npx pushover-mcp --help 查看完整列表。

HTTP 模式

默认情况下,每个客户端都会通过 stdio 启动自己的服务。HTTP 模式则会运行一个长期运行的服务,客户端通过 URL 连接。可将其用于托管平台,或供多个客户端共用一个服务。

PUSHOVER_TOKEN=... PUSHOVER_USER=... npx pushover-mcp --transport http
# Listening on http://127.0.0.1:3000/mcp
claude mcp add --transport http pushover http://127.0.0.1:3000/mcp
# With an auth token:
claude mcp add --transport http pushover https://pushover.example.com/mcp --header "Authorization: Bearer YOUR_AUTH_TOKEN"

任何能够访问该服务的人都可以使用你的密钥发送通知,因此:

  • 服务仅监听 127.0.0.1,并拒绝 Host 或 Origin 非本地的请求。
  • 若要监听其他网络接口(例如 --host 0.0.0.0),必须设置身份验证令牌。客户端随后需发送 Authorization: Bearer <token>。
  • attachment_path 已禁用,因此客户端无法读取服务所在磁盘上的文件。
  • 如需远程访问,请将其置于 HTTPS 后面。
PUSHOVER_TOKEN=... PUSHOVER_USER=... PUSHOVER_MCP_AUTH_TOKEN=a-long-random-secret npx pushover-mcp --transport http --host 0.0.0.0

作为库使用

import { createServer, PushoverClient } from "pushover-mcp";

// An MCP server to mount on your own transport
const server = createServer({ token, user, defaults: { sound: "bike" } });

// Or call the Pushover API directly
await new PushoverClient({ token, user }).sendMessage({ message: "Deployed" });

从 v1 升级

现有的 v1 配置仍可使用:start、--token 和 --user 仍受支持。变更如下:

  • send 工具现已改名为 send_notification。Agent 会自动使用新名称;请更新其中提及该工具名称的提示词。
  • 需要 Node.js 22 或更高版本。
  • 库的使用者:PushoverMCP 已由 createServer() 取代。

详情请参阅变更日志。

开发

pnpm install
pnpm dev        # run from source
pnpm check      # lint, typecheck, test
pnpm build
pnpm inspect    # open the server in MCP Inspector

致谢

感谢所有通过报告问题和提交拉取请求为 v2 作出贡献的人:

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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