mcpField
F
FastMCP server that pages on-call via 100+ notification channels (Apprise wrappe

FastMCP server that pages on-call via 100+ notification channels (Apprise wrappe

ローカル
github.com/adelaidasofiaコミュニケーション04 週間前に更新

FastMCP server that pages on-call via 100+ notification channels (Apprise wrappe について

paging-mcp は Apprise 対応の通知チャネルを通じてアラートを送る FastMCP サーバーです。複数チャネルへの通知が必要なオンコールチームや自動化システム向けで、認証情報のマスキングとチャネル選択に対応します。

主な機能

  1. 01複数チャネルへのアラート送信
  2. 02設定済みチャネルの選択
  3. 03一時チャネルへの通知
  4. 04送信前のドライラン
  5. 05応答内の認証情報マスキング
  6. 06チャネルごとの送信結果

活用シーン

  1. 01監視アラートをオンコール担当者に通知
  2. 02バッチジョブの失敗を運用担当者に連絡
  3. 03セキュリティアラートを予備チャネルで送信

MCP 対応

Apprise ベースの通知ツールを MCP クライアントに提供し、チャネル一覧、ドライラン、通知送信を行えます。チャネルは APPRISE_URLS で設定し、ツールの応答では認証情報をマスキングします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbpaging-mcp.mcpb0.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

paging-mcp

ライセンス GitHub のスター数 最終コミット 未解決の Issue PyPI のバージョン PyPI のダウンロード数 Mycelium AI 製

100 種類以上の通知チャネルを通じてオンコール担当者にページを送る FastMCP サーバーです。Apprise を基盤としており、WhatsApp、ntfy、Pushover、Telegram、Discord、Slack、Signal、Matrix、Gotify、mailto、Twilio SMS、AWS SNS など、多数のサービスに対応しています。

このツールの狙いは、プロバイダーに依存しないことです。MCP を 1 つ接続し、必要な数だけチャネルを設定すれば、ベンダーを切り替えるたびにインテグレーションコードを書き直すことなく、冗長なページ通知を受け取れます。

これが必要な理由

B2B パイプラインの合成モニター、長時間実行されるバッチジョブ、セキュリティアラートなど、人間を起こす必要があるものを構築する場合、次のことが必要です。

  1. 1 つのプロバイダーが停止してもページ通知を逃さないよう、複数のチャネルに並行して通知すること。
  2. オペレーターに合ったチャネルを使えること(中南米のオンコール担当者には WhatsApp、セルフホスト利用者には ntfy、個人用スマートフォンには Pushover、今でも適しているケースには Twilio SMS)。
  3. 出力を読むエージェントが認証情報を会話の記録に漏らさないよう、ツールの応答で認証情報を伏せること。
  4. チャネルごとに新しい MCP を用意することなく、エージェントがどこからでも呼び出せる MCP を 1 つ用意すること(Claude Code、Codex、Cursor など)。

Apprise は Python でチャネル 1~2 を解決します。このサーバーは、認証情報のマスキングとチャネルのフィルタリングを加え、MCP から呼び出せるようにします。

インストール

Claude Code を開き、次のコマンドを貼り付けます。

/plugin marketplace add adelaidasofia/paging-mcp
/plugin install paging-mcp@paging-mcp
旧式のインストール方法
git clone https://github.com/adelaidasofia/paging-mcp ~/.claude/paging-mcp
cd ~/.claude/paging-mcp
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

設定

APPRISE_URLS に 1 つ以上の Apprise URL を設定します。改行、セミコロン、またはカンマで区切ります。

export APPRISE_URLS="
ntfys://ntfy.sh/<your-secret-topic>
whapi+https://gate.whapi.cloud/messages/text?token=<TOKEN>&to=+57...
pover://<USER_KEY>@<APP_TOKEN>
mailto://user:[email protected]/[email protected]
"

プロバイダー別の Apprise URL の例:

プロバイダーURL パターン
WhatsApp Business(Whapi)whapi+https://gate.whapi.cloud/messages/text?token=<TOKEN>&to=<+E164>
ntfyntfys://ntfy.sh/<topic>
Pushoverpover://<USER_KEY>@<APP_TOKEN>
Telegram ボットtgram://<BOT_TOKEN>/<CHAT_ID>
Twilio SMStwilio://<SID>:<TOKEN>@<FROM>/<TO>
Signal CLIsignal://<from>@<api-host>/<to>
Slack の受信 Webhookslack://<token-a>/<token-b>/<token-c>
Discord Webhookdiscord://<webhook-id>/<webhook-token>
SMTP メールmailto://<user>:<pass>@<host>:<port>/?to=<dest>
AWS SNSsns://<KEY>/<SECRET>/<REGION>/<TOPIC>

全一覧:https://github.com/caronc/apprise/wiki

Claude Code に登録する

プロジェクト単位(<vault>/.mcp.json):

{
  "mcpServers": {
    "paging": {
      "command": "/Users/<you>/.claude/paging-mcp/.venv/bin/python",
      "args": ["/Users/<you>/.claude/paging-mcp/server.py"],
      "env": {
        "APPRISE_URLS": "ntfys://ntfy.sh/<your-secret-topic>"
      }
    }
  }
}

ユーザー単位:

claude mcp add -s user paging \
  /Users/<you>/.claude/paging-mcp/.venv/bin/python \
  /Users/<you>/.claude/paging-mcp/server.py \
  --env APPRISE_URLS="ntfys://ntfy.sh/<your-secret-topic>"

Claude Code を再起動します。claude mcp list で確認してください。

ツール

ツール機能
health_checkサーバーのセルフチェック、Apprise のバージョン、設定済みチャンネル数を確認します。
list_configured_channelspaging-mcp が通知を送信するチャンネルを一覧表示します。認証情報は伏せられます。
notify(title, body, severity, channels?)設定済みのすべてのチャンネル(または伏せ字 URL によるフィルターで選択した一部)に通知を送信します。チャンネルごとの結果を返します。
notify_one(url, title, body, severity)単一の一時的な Apprise URL に通知を送信します(永続化されません)。
dry_run(title, body, severity)通知を送信せずに、notify() が送信する内容を表示します。

severity は info、success、warning、failure のいずれかです。色やアイコンでタグ付けするチャンネルで使用されます。

テスト

.venv/bin/pip install -e ".[dev]"
.venv/bin/python -m pytest tests/ -v

URL の伏せ字化、複数チャンネルへの送信、一部の失敗、チャンネルのフィルタリング、URL に認証情報を含むエンドツーエンドのページングフローを対象とする、16 件の単体テストと統合テストがあります。

セキュリティに関する注意事項

  • ツールの応答に認証情報が表示されることはありません。パスを秘密情報として使うスキーム(ntfy、pushbullet、pover)では、パスの最後のセグメントも伏せ字になります。
  • notify_one は一時的な URL を受け付けます。エージェントに直接の認証情報を渡す場合、会話にそれらを表示しないようにする責任はユーザーにあります。サーバー起動時に APPRISE_URLS を設定して使用することをおすすめします。
  • サーバーはチャンネルやメッセージを永続化しません。すべてプロセス内で処理されます。

テレメトリー

このプラグインは、あるマシンで Claude Code セッション内に初めて読み込まれたときに、匿名のインストール通知を 1 回だけ myceliumai.co に送信します。

送信される情報:

  • プラグイン名(例:slack-mcp)
  • プラグインのバージョン(例:0.1.0)

送信されない情報:

  • ユーザー識別情報、氏名、メールアドレス、トークン、API キーは送信されません
  • ファイルパス、メッセージ内容、作業に関する情報は送信されません
  • 重複排除の処理後、IP アドレスは保存されません

目的: メンテナーが実際にインストールされているプラグインを把握し、利用されているプラグインに注力できるようにします。

オプトアウト: Claude Code の起動前に環境変数 MYCELIUM_NO_PING=1 を設定してください。フックはネットワーク呼び出しを完全にスキップします。通知済みのインストールでは ~/.mycelium/onboarded-<plugin> に識別用ファイルが残ります。状態をリセットする場合は削除してください。

ライセンス

MIT — LICENSE を参照してください。


Mycelium AI が開発しました。完全版またはチーム版は diazroa.com をご覧ください。

コメント

MCP は初めてですか?

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

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