Pushover MCP について
Pushover MCPは、AIエージェントからPushover経由でスマートフォンやデスクトップに通知を送るMCPサーバーです。書式付きメッセージや画像添付に対応し、確認やキャンセルが可能な緊急通知も扱えます。
主な機能
- 01リッチなプッシュ通知の送信
- 02優先度、サウンド、デバイスの指定
- 03画像やリンクの添付
- 04緊急通知の確認とキャンセル
- 05stdioまたはHTTPでの実行
活用シーン
- 01エージェントのタスクやイベントの通知
- 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
AI エージェントが Pushover を通じて、スマートフォンやデスクトップにプッシュ通知を送信できる MCP サーバーです。
- 多彩な通知: タイトル、リンク、サウンド、デバイス、HTML または等幅テキスト、画像添付
- 緊急アラート: 確認されるまで繰り返し、状態の確認やキャンセルが可能です
- 自己修正機能: エージェントが対処できる明確なツールエラー
- stdio または HTTP: デフォルトではローカルで実行し、共有 HTTP サーバーとしても利用できます
クイックスタート
- Pushover から 2 つのキーを取得します。
- ユーザーキー: ダッシュボードに表示されています。
- アプリトークン: アプリケーションを作成します。
YOUR_TOKENとYOUR_USER_KEYを置き換えて、サーバーをクライアントに追加します(以下を参照)。- エージェントに通知を送信するよう依頼します。
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 でキーの入力を求められるのは最初の 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 は緊急です。 |
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 クライアントが送信する必要のあるベアラートークン。 |
全オプションの一覧は 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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。