mcpField
N
notifyfan

notifyfan

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

notifyfan について

notifyfanは、Apprise APIサーバー経由で通知を送るMCPサーバー兼コマンドラインツールです。設定済みタグや全サービスへの送信、Apprise URLへの単発送信、上流のヘルス・状態確認に対応します。

主な機能

  1. 01設定済みタグまたは全サービスへの送信
  2. 02Apprise URLへの単発送信
  3. 03サーバーのヘルスと状態の確認
  4. 04操作と通知タイプの検証
  5. 05コマンドラインとstdioサーバーモード

活用シーン

  1. 01運用タグへのデプロイ通知
  2. 02タグを指定せず設定済みサービスへ通知
  3. 03Apprise URLへの単発メッセージ送信
  4. 04Apprise APIの稼働確認

MCP 対応

MCPツール`apprise`を通じて、ヘルス、状態、ヘルプ、Apprise APIサーバーへの通知操作を提供します。stdioサーバーは環境変数からURLと任意のBearerトークンを読み込みます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-notifyfan": {
"command": "npx",
"args": [
"-y",
"@reneturcios/notifyfan"
]
}
}
}
起動コマンドnpx -y @reneturcios/notifyfan

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/notifyfan0.1.0
ocighcr.io/cloudcorprecords/notifyfan:0.1.0

ツール

1

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
tagstringいいえ通知を受信する設定済みサービスを選択するタグフィルター。
bodystringいいえnotify 操作の通知本文。
typeenumいいえ通知タイプ:info、success、warning、failure のいずれか。info | success | warning | failure
urlsstringいいえnotify_url 操作で送信先となる Apprise URL(1 つまたは複数)。
titlestringいいえnotify 操作の通知タイトル。
actionenumはい実行するアクション: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 を追加してください。

ツール
ツール入力内容
appriseaction(文字列、必須)と、以下のアクションごとのパラメーター指定したアクションを上流の Apprise API サーバーに対して実行します。

アクション:

アクション必須任意内容
health——Apprise API サーバーの稼働状態を確認します。
status——認証済みのデプロイメントおよびランタイムの状態を返します。
help——組み込みの Markdown ツールヘルプを返します。上流への呼び出しは行いません。
notifybodytag、title、type設定済みの Apprise タグに送信します。tag を省略すると、設定済みのすべてのサービスに送信します。
notify_urlurls、bodytitle、type1 つ以上の 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 を参照してください。

コメント

MCP は初めてですか?

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

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