mcpField
P
Pushover MCP

Pushover MCP

ローカル
npmjs.comコミュニケーション434 日前に更新

Pushover MCP について

Pushover MCPは、AIエージェントからPushover経由でスマートフォンやデスクトップに通知を送るMCPサーバーです。書式付きメッセージや画像添付に対応し、確認やキャンセルが可能な緊急通知も扱えます。

主な機能

  1. 01リッチなプッシュ通知の送信
  2. 02優先度、サウンド、デバイスの指定
  3. 03画像やリンクの添付
  4. 04緊急通知の確認とキャンセル
  5. 05stdioまたはHTTPでの実行

活用シーン

  1. 01エージェントのタスクやイベントの通知
  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

AI エージェントが Pushover を通じて、スマートフォンやデスクトップにプッシュ通知を送信できる MCP サーバーです。

Claude Code がテストとデプロイを実行し、各段階でスマートフォンに Pushover 通知を送信します。その後、エージェントが確認済みと認識する緊急アラートを送信します
  • 多彩な通知: タイトル、リンク、サウンド、デバイス、HTML または等幅テキスト、画像添付
  • 緊急アラート: 確認されるまで繰り返し、状態の確認やキャンセルが可能です
  • 自己修正機能: エージェントが対処できる明確なツールエラー
  • stdio または HTTP: デフォルトではローカルで実行し、共有 HTTP サーバーとしても利用できます

クイックスタート

  1. Pushover から 2 つのキーを取得します。
  2. YOUR_TOKEN と YOUR_USER_KEY を置き換えて、サーバーをクライアントに追加します(以下を参照)。
  3. エージェントに通知を送信するよう依頼します。

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 でキーの入力を求められるのは最初の 1 回だけで、キーは安全に保存されます。

{
  "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 は緊急です。
soundlist_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 クライアントが送信する必要のあるベアラートークン。

全オプションの一覧は npx pushover-mcp --help を実行して確認してください。

HTTP モード

デフォルトでは、各クライアントが stdio 経由で個別のサーバーを起動します。HTTP モードでは、クライアントが URL で接続する、単一の長時間稼働するサーバーを実行します。ホスティングプラットフォームや、複数のクライアント間で 1 つのサーバーを共有する場合に使用してください。

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 になりました。エージェントは新しい名前を自動的に認識します。名前を指定しているプロンプトは更新してください。
  • 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。