mcpField
P
pp-pushover

pp-pushover

github.com/mvanhorn生産性2.1k51 回インストール今日更新
リポジトリ

pp-pushover について

pp-pushoverは、通知送信、緊急レシートの追跡、Open Clientメッセージの管理に使う、Agentや運用向けのPushover CLIスキルです。送信枠の確認や、秘匿情報を除いたローカル送信履歴にも対応します。

主な機能

  1. 01優先度付き通知の送信
  2. 02緊急レシートの監視・キャンセル
  3. 03送信枠の確認
  4. 04秘匿情報を除いた履歴の検索
  5. 05Open Clientメッセージの同期
  6. 06配信グループとデバイスの管理

活用シーン

  1. 01運用通知やテスト通知の送信
  2. 02緊急通知の確認状況の確認
  3. 03一括送信前の送信枠確認
  4. 04Open Client受信箱の同期と検索

MCP 対応

READMEには、pushover-pp-mcpのインストールと登録方法が記載されています。対応クライアントからMCPサーバーに接続できますが、公開する機能の詳細は記載されていません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-pushover

インストール後、Claude Code で/pp-pushoverを入力して読み込まれたか確認します。

詳細

Pushover — Printing Press CLI

前提条件:CLI をインストールする

このスキルは pushover-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。

  1. Printing Press インストーラーを使ってインストールします。デフォルトでは、macOS/Linux では $HOME/.local/bin に、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin にバイナリがインストールされます。
    npx -y @mvanhorn/printing-press-library install pushover --cli-only
    
  2. 確認します:pushover-pp-cli --version
  3. 表示されたインストールディレクトリが、このスキルを実行するエージェント/ランタイムの $PATH に含まれていることを確認します。

npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go から直接インストールしてください(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/social-and-messaging/pushover/cmd/pushover-pp-cli@latest

インストール後に --version が「command not found」と表示される場合、ランタイムからバイナリディレクトリを $PATH 経由で参照できません。確認に成功するまで、スキルのコマンドを実行しないでください。

この CLI を使用する場面

モバイルプッシュ通知、緊急通知の受領確認の追跡、クォータを考慮した送信、グループ配信の管理、または Open Client メッセージの取得が必要なエージェントや運用ワークフローでは、pushover-pp-cli を使用してください。

独自の機能

この API を扱う他のツールでは、次の機能を利用できません。

エージェント向けのネイティブ連携
  • notify — 引数または stdin から、環境変数/設定のデフォルト値、名前付き優先度、緊急通知の検証に対応して通知を送信します。

    トークン値を漏らしたり、エンドポイントの生の形式を覚えたりすることなく、エージェントがテスト通知や運用通知を送信できます。

    pushover-pp-cli notify "Printing Press test" --priority low --json
    
受領確認の操作
  • emergency watch — 緊急通知の受領確認を送信または監視し、応答状況をポーリングして、キャンセルにも対応します。

    緊急通知を、送信したら終わりの通知から、監査可能なオンコールワークフローへと変えます。

    pushover-pp-cli emergency watch --receipt <receipt> --poll-interval 30s --cancel-on-timeout --json
    
運用上の安全性
  • quota — アプリの制限エンドポイントから、月間送信上限、残りの送信可能数、リセット時刻を表示します。

    エージェントは、複数宛先への送信やテスト通知の繰り返しを行う前に、送信予算を確認できます。

    pushover-pp-cli quota --json
    
使うほど蓄積されるローカル状態
  • history — この CLI が送信した通知と受領確認の結果を記録した、ローカルの秘匿化済み台帳を検索してエクスポートします。

    生のユーザーキーやトークンを保存せずに、この CLI が何をいつ、どの優先度で送信したかを確認できます。

    pushover-pp-cli history list --since 24h --json
    
  • inbox sync — 必要に応じてサーバー側での指定範囲削除を行う前に、Open Client のメッセージをローカルの SQLite にダウンロードします。

    Open Client デバイスを管理するエージェントが、Pushover を送信チャネルとしてだけでなく、取得可能な受信トレイとしても利用できます。

    pushover-pp-cli inbox sync --device-id <device-id> --json
    

コマンドリファレンス

notify — 引数、--message、または stdin からエージェント向けの安全な通知を送信します

  • pushover-pp-cli notify — 環境変数のデフォルト値、名前付き優先度、緊急通知の検証、ローカル履歴の秘匿化を利用して送信します

emergency — 緊急優先度の受信確認を監視します

  • pushover-pp-cli emergency watch — 終了状態になるまで、安全な間隔で緊急受信確認をポーリングします

quota — アプリケーションの送信クォータを確認します

  • pushover-pp-cli quota — 月間上限、残りの送信数、リセット時刻を表示します

history — ローカルの秘匿化された通知台帳を確認します

  • pushover-pp-cli history — ローカルに記録された通知送信を一覧表示します
  • pushover-pp-cli history show — ローカル履歴の1行を表示します

inbox — Open Client のメッセージをローカルに同期します

  • pushover-pp-cli inbox sync — ダウンロードした Open Client のメッセージをローカルの SQLite に保存します
  • pushover-pp-cli inbox list — ローカルに同期された Open Client のメッセージを一覧表示します

apps — アプリケーション単位のメッセージクォータを確認します

  • pushover-pp-cli apps — 月間メッセージ上限、残りの送信数、リセット時刻を確認します

devices — Open Client デバイスを管理します

  • pushover-pp-cli devices create — 新しい Open Client デスクトップデバイスを登録します
  • pushover-pp-cli devices delete-through — 最大メッセージ ID までのダウンロード済み Open Client メッセージを削除します

glances — Pushover Glances ウィジェットを更新します

  • pushover-pp-cli glances — Glances ウィジェットのフィールドを更新します

groups — Pushover 配信グループを作成、確認、管理します

  • pushover-pp-cli groups add-user — 配信グループにユーザーを追加します
  • pushover-pp-cli groups create — 配信グループを作成します
  • pushover-pp-cli groups disable-user — グループのユーザーを一時的に無効にします
  • pushover-pp-cli groups enable-user — 無効になっているグループのユーザーを再度有効にします
  • pushover-pp-cli groups get — 配信グループの名前とユーザーを取得します
  • pushover-pp-cli groups list — アカウントが所有する配信グループを一覧表示します
  • pushover-pp-cli groups remove-user — 配信グループからユーザーを削除します
  • pushover-pp-cli groups rename — 配信グループの名前を変更します

licenses — Pushover ライセンスクレジットを割り当て、確認します

  • pushover-pp-cli licenses assign — プリペイドのライセンスクレジットをユーザーまたはメールアドレスに割り当てます
  • pushover-pp-cli licenses credits — 残りのライセンスクレジットを確認します

messages — アプリケーション通知を送信し、Open Client メッセージをダウンロードします

  • pushover-pp-cli messages download — Open Client デバイスの保留中のメッセージをダウンロードします
  • pushover-pp-cli messages send — Pushover 通知を送信します

receipts — 緊急優先度のメッセージ受信確認を確認し、キャンセルします

  • pushover-pp-cli receipts cancel — 緊急優先度の受信確認1件について、再試行をキャンセルします
  • pushover-pp-cli receipts cancel-by-tag — タグに一致するアクティブな緊急優先度の再試行をキャンセルします
  • pushover-pp-cli receipts get — 緊急優先度の受信確認ステータスを取得します

sounds — 通知音を検索します

  • pushover-pp-cli sounds — 組み込みの通知音とアカウントのカスタム通知音を一覧表示します

subscriptions — Pushover サブスクリプションの移行を管理します

  • pushover-pp-cli subscriptions — 既存のユーザーキーをサブスクリプションユーザーキーに移行します

teams — Pushover for Teams のメンバーシップを管理します

  • pushover-pp-cli teams add-user — チームにユーザーを追加します
  • pushover-pp-cli teams get — チームの情報とユーザーを表示します
  • pushover-pp-cli teams remove-user — チームからユーザーを削除します

users — ユーザーを検証し、Open Client セッションにログインします

  • pushover-pp-cli users login — Open Client 用にユーザーをログインさせ、ユーザーキーとセッションシークレットを返します
  • pushover-pp-cli users validate — ユーザーキーまたはグループキーと、任意のデバイスを検証します
適切なコマンドを見つける

実行したい操作は分かっていても、どのコマンドを使えばよいか分からない場合は、CLI に直接尋ねてください。

pushover-pp-cli which "<capability in your own words>"

which は自然言語による機能の問い合わせを、この CLI の厳選された機能インデックス内で最も一致するコマンドに対応付けます。終了コード 0 は1件以上の一致があることを示し、終了コード 2 は確信を持てる一致がないことを示します。その場合は --help に戻るか、より範囲を絞った問い合わせを使用してください。

レシピ

優先度の低いテストを送信する
pushover-pp-cli notify "Printing Press test" --priority low --json

環境変数/設定の認証情報を使用し、ローカルの台帳に行を記録します。

バッチ処理の前にクォータを確認する
pushover-pp-cli quota --json --select remaining,reset

専用のアプリ制限エンドポイントを読み取ります。

送信先を検証する
pushover-pp-cli users validate --user-key "$PUSHOVER_USER_KEY" --json

スクリプトで使用する前に、キーが有効であることを確認します。

緊急時のレシートを監視する
pushover-pp-cli emergency watch --receipt <receipt> --json

安全な間隔で公式のレシートエンドポイントをポーリングします。

認証の設定

送信、クォータ、ユーザー、グループ、サウンド、レシート、グランス、サブスクリプション、ライセンスのワークフローでは、PUSHOVER_APP_TOKEN と PUSHOVER_USER_KEY を設定してください。従来の PUSHOVER_TOKEN と PUSHOVER_USER も、ローカルでの互換エイリアスとして使用できます。Open Client のワークフローでは、フラグが省略された場合に PUSHOVER_CLIENT_SECRET と PUSHOVER_DEVICE_ID を使用します。

pushover-pp-cli doctor を実行して設定を確認します。

エージェントモード

任意のコマンドに --agent を追加します。次のオプションに展開されます:--json --compact --no-input --no-color --yes。

  • パイプ可能 — stdout に JSON、stderr にエラーを出力します

  • フィルタ可能 — --select でフィールドを絞り込めます。ドット区切りのパスはネストされた構造をたどり、配列では各要素をたどります。詳細な API のコンテキストを小さく保つために不可欠です:

    pushover-pp-cli groups list --app-token your-token-here --agent --select id,name,status
    
  • プレビュー可能 — --dry-run で送信せずにリクエストを表示します

  • オフライン対応 — 同期/検索コマンドは、利用可能な場合にローカルの SQLite ストアを使用できます

  • 非対話型 — プロンプトは表示せず、すべての入力をフラグで指定します

  • 明示的な再試行 — すでに存在するリソースの作成を成功として扱う場合にのみ、--idempotent を使用します

レスポンスのエンベロープ

ローカルストアまたは API から読み取るコマンドは、出力を出所情報のエンベロープでラップします:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データには .results を解析し、ライブデータかローカルデータかを確認するには .meta.source を参照してください。人が読みやすい N results (live) の概要は、stdout が端末の場合に限り stderr に出力されます。パイプ経由/エージェントの利用者には、stdout に純粋な JSON が出力されます。

エージェントへのフィードバック

この CLI で気になる点があれば、あなた(またはエージェント)が記録してください:

pushover-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
pushover-pp-cli feedback --stdin < notes.txt
pushover-pp-cli feedback list --json --limit 10

エントリは ~/.pushover-pp-cli/feedback.jsonl にローカル保存されます。PUSHOVER_FEEDBACK_ENDPOINT が設定され、かつ --send が指定されているか PUSHOVER_FEEDBACK_AUTO_SEND=true の場合を除き、POST されることはありません。デフォルトの動作はローカルのみです。

バグ報告ではなく、意外だったことを書いてください。短く、具体的に、1 行で記述します。積み重なっていくのは、まさにその部分です。

出力の配信

すべてのコマンドで --deliver <sink> を指定できます。エージェントが手動でパイプ処理せずにコマンド結果を振り分けられるよう、出力は標準出力に加えて(または標準出力の代わりに)指定したシンクに送られます。シンクは 3 種類に対応しています:

シンク効果
stdoutデフォルト。標準出力のみに書き込みます
file:<path>出力を <path> にアトミックに書き込みます(tmp + rename)
webhook:<url>出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson)

不明なスキームは、対応するスキームの一覧を示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の終了コードを返し、URL と HTTP ステータスを stderr に記録します。

名前付きプロファイル

プロファイルとは、保存済みのフラグ値のセットで、複数回の実行で再利用できます。スケジュールされたエージェントが同じ設定で同じコマンドを毎回呼び出す場合に使用します。これは HeyGen の「Beacon」パターンです。

pushover-pp-cli profile save briefing --json
pushover-pp-cli --profile briefing groups list --app-token your-token-here
pushover-pp-cli profile list --json
pushover-pp-cli profile show briefing
pushover-pp-cli profile delete briefing --yes

明示的なフラグは常にプロファイル値より優先され、プロファイル値はデフォルト値より優先されます。agent-context は、実行時に情報を調べるエージェントがプロファイルを検出できるよう、すべてのプロファイルを available_profiles に一覧表示します。

終了コード

コード意味
0成功
2使用方法のエラー(引数が正しくありません)
3リソースが見つかりません
5API エラー(上流の問題)
7レート制限中(待機して再試行してください)
10設定エラー

引数の解析

$ARGUMENTS を解析します:

  1. 空、help、または --help → pushover-pp-cli --help の出力を表示します
  2. install で始まる → mcp で終わる場合は MCP のインストール、それ以外の場合は上記の前提条件を参照してください
  3. その他すべて → 直接使用(--agent を付けて CLI コマンドとして実行します)

MCP サーバーのインストール

この CLI の公開ライブラリーエントリーまたはビルド済みリリースから MCP バイナリーをインストールし、登録します:

claude mcp add pushover-pp-mcp -- pushover-pp-mcp

確認:claude mcp list

直接使用する

  1. インストールされているか確認します:which pushover-pp-cli 見つからない場合は、インストールを提案します(このスキルの冒頭にある前提条件を参照してください)。
  2. ユーザーのクエリに最適なコマンドを、上記の「独自の機能」と「コマンドリファレンス」から選びます。
  3. --agent フラグを付けて実行します:
    pushover-pp-cli <command> [subcommand] [args] --agent
    
  4. 判断に迷う場合は、サブコマンドのヘルプを確認します:pushover-pp-cli <command> --help。

コメント