关于 Pushover MCP
Pushover MCP 是一个 MCP 服务,让 AI Agent 通过 Pushover 向手机和桌面发送通知。它支持格式化消息、图片附件,以及可查询或取消的紧急提醒。
主要功能
- 01发送富文本推送通知
- 02设置优先级、声音和设备
- 03附加图片或链接
- 04查询并取消紧急提醒
- 05通过 stdio 或 HTTP 运行
适用场景
- 01通知 Agent 任务或事件
- 02发送需要确认的紧急提醒
MCP 相关
它向 MCP 客户端提供 Pushover 通知工具,包括发送消息和管理紧急通知回执。服务支持 stdio 和 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| message | string | 是 | |
| title | string | 否 | |
| priority | number | 否 | |
| sound | string | 否 | |
| url | string | 否 | |
| url_title | string | 否 | |
| device | string | 否 |
详细介绍
Pushover MCP
一个 MCP 服务,可让 AI Agent 通过 Pushover 向你的手机和桌面设备发送推送通知。
- 丰富的通知: 标题、链接、声音、设备、HTML 或等宽文本、图片附件
- 紧急警报: 持续重复发送,直到得到确认;之后可查询或取消
- 自动纠错: 提供清晰的工具错误信息,便于 Agent 采取相应操作
- stdio 或 HTTP: 默认在本地运行,也可作为共享 HTTP 服务运行
快速开始
- 从 Pushover 获取两个密钥:
- 将该服务添加到你的客户端(见下文),并替换
YOUR_TOKEN和YOUR_USER_KEY。 - 让你的 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 Desktop | Settings → Developer → Edit Config |
| Cursor | ~/.cursor/mcp.json,或项目中的 .cursor/mcp.json |
| Cline | MCP 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_type | Base64 图片数据及其 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 | --transport | stdio(默认)或 http。 |
PUSHOVER_MCP_HOST | --host | HTTP 绑定地址。默认值为 127.0.0.1。 |
PUSHOVER_MCP_PORT 或 PORT | --port | HTTP 端口。默认值为 3000。 |
PUSHOVER_MCP_AUTH_TOKEN | --auth-token | HTTP 客户端必须发送的 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 作出贡献的人:
- @jtenniswood 报告了 Claude Desktop 启动错误(#3)。
- @bcdonadio 提议迁移到较新的 MCP 规范(#6)。
- @craigles75 提议支持 HTML 格式(#9)。
- @webbrain-one 提议修复 stderr 日志记录(#10)。
- @punkpeye 指出了 Glama 目录的 Docker 配置问题(#4)。
- @calclavia 添加了最初的 Docker 配置(#2)。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。