notifyfan について
notifyfanは、Apprise APIサーバー経由で通知を送るMCPサーバー兼コマンドラインツールです。設定済みタグや全サービスへの送信、Apprise URLへの単発送信、上流のヘルス・状態確認に対応します。
主な機能
- 01設定済みタグまたは全サービスへの送信
- 02Apprise URLへの単発送信
- 03サーバーのヘルスと状態の確認
- 04操作と通知タイプの検証
- 05コマンドラインとstdioサーバーモード
活用シーン
- 01運用タグへのデプロイ通知
- 02タグを指定せず設定済みサービスへ通知
- 03Apprise URLへの単発メッセージ送信
- 04Apprise APIの稼働確認
MCP 対応
MCPツール`apprise`を通じて、ヘルス、状態、ヘルプ、Apprise APIサーバーへの通知操作を提供します。stdioサーバーは環境変数からURLと任意のBearerトークンを読み込みます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| tag | string | いいえ | 通知を受信する設定済みサービスを選択するタグフィルター。 |
| body | string | いいえ | notify 操作の通知本文。 |
| type | enum | いいえ | 通知タイプ:info、success、warning、failure のいずれか。info | success | warning | failure |
| urls | string | いいえ | notify_url 操作で送信先となる Apprise URL(1 つまたは複数)。 |
| title | string | いいえ | notify 操作の通知タイトル。 |
| action | enum | はい | 実行するアクション:health、status、help、notify、notify_url のいずれか。health | status | help | notify | notify_url |
詳細
notifyfan
notifyfan は Apprise API サーバー経由で通知を送信します。単一の
ツール apprise から、Apprise で設定された送信先にメッセージを
配信できます。設定済みのタグ(または設定済みのすべてのサービス)への送信、
Apprise URL スキーマを指定した単発の送信、上流サーバーの稼働確認を、
操作ごとに別々のツールを用意するのではなく、1 つのアクション引数で実行します。
1 つのバイナリで、コマンドラインインターフェースと stdio MCP サーバーを提供します。
設定
上流接続は、次の 2 つの環境変数で設定します。
APPRISE_URL— Apprise API サーバーのベース URL です。既定値はhttp://localhost:8000です。APPRISE_TOKEN— 任意です。上流でベアラー認証が必要な場合は設定してください。notifyfan は、 すべての上流呼び出しでAuthorization: Bearer <token>を送信します。環境変数からのみ読み込まれ、 CLI フラグにも MCP ツール引数にもなりません。
help アクションは、何も設定していなくても動作します。
インストール
npx @reneturcios/notifyfan health
または、コンテナイメージを実行します。
docker run -i ghcr.io/cloudcorprecords/notifyfan
コンテナは既定で MCP サーバーとして起動します。CLI として使用するには、 CLI 引数を渡してください。
CLI
notifyfan health
notifyfan status
notifyfan help
notifyfan notify "Deployment succeeded" --tag ops --title "Deploy complete" --type success
notifyfan notify "Standup notes are posted"
notifyfan notify-url "mailto://[email protected]" "Build finished" --type info
notifyfan --version
notify に必要なのは本文だけです。設定済みのすべてのサービスに送信するには、--tag を省略します。
notify-url では、Apprise URL(1 つの文字列。複数の URL はカンマ区切り)を先に指定し、
その後に本文を指定します。終了コード:
成功時は 0、呼び出し失敗時(検証エラーまたは上流エラー)は 1、
使用方法のエラー時は 2 です。
MCP サーバー
npx -y @reneturcios/notifyfan mcp
MCP クライアントの設定:
{
"mcpServers": {
"notifyfan": {
"command": "npx",
"args": ["-y", "@reneturcios/notifyfan", "mcp"],
"env": {
"APPRISE_URL": "http://localhost:8000"
}
}
}
}
Apprise API サーバーで必要な場合に限り、env ブロックに
APPRISE_TOKEN を追加してください。
ツール
| ツール | 入力 | 内容 |
|---|---|---|
apprise | action(文字列、必須)と、以下のアクションごとのパラメーター | 指定したアクションを上流の Apprise API サーバーに対して実行します。 |
アクション:
| アクション | 必須 | 任意 | 内容 |
|---|---|---|---|
health | — | — | Apprise API サーバーの稼働状態を確認します。 |
status | — | — | 認証済みのデプロイメントおよびランタイムの状態を返します。 |
help | — | — | 組み込みの Markdown ツールヘルプを返します。上流への呼び出しは行いません。 |
notify | body | tag、title、type | 設定済みの Apprise タグに送信します。tag を省略すると、設定済みのすべてのサービスに送信します。 |
notify_url | urls、body | title、type | 1 つ以上の Apprise URL スキーマに、ステートレスな単発通知を送信します。urls は単一の文字列で、複数の URL はカンマ区切りで指定します。 |
type は info(情報)、success(操作成功)、warning(重大ではない警告)、
failure(重大な失敗またはエラー)のいずれかです。不明なアクション、body/urls の不足、
無効な type は、上流への呼び出し前にエラーになります。
呼び出し例:
{
"name": "apprise",
"arguments": {
"action": "notify",
"body": "Deployment succeeded",
"tag": "ops",
"title": "Deploy complete",
"type": "success"
}
}
上流へのマッピングと既知の制約
上記のアクション一覧が、ドキュメントに記載された機能です。上流の
パスは、標準の Apprise API に基づくドキュメント化された再構成です。
notify は {body, tag?, title?, type?} を POST /notify に送信し、
notify_url は {urls, body, title?, type?} を同じエンドポイントに送信します
(ステートレス形式です。上流 API に独立した /notify_url
ルートはありません)。health は GET /(上流のルート)を読み取り、
status は GET /details を読み取ります。指定されていないペイロードのフィールドは省略し、
空の値として送信することはありません。上流の失敗は HTTP ステータスと、存在する場合は
上流の message または error 文字列を返します。JSON 以外の成功レスポンス本文は、
生テキストとして返されます。
- オリジナルの HTTP トランスポート、OAuth、
send_alertプロンプトは再現していません。この再構築版は stdio のみです。 - 構築中に実際の Apprise API サーバーは使用していません。すべての上流の動作は、テストスイート内の fake fetch で検証されています。
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。