mcpField
P
pushnote

pushnote

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

pushnote について

pushnote は Gotify サーバーを操作するコマンドラインツール兼 stdio MCP サーバーです。単一のルーターツールで通知送信、メッセージ取得、稼働状況とバージョンの確認、アプリとクライアントの管理を行い、削除には確認を求めます。

主な機能

  1. 01プッシュ通知の送信
  2. 02メッセージとサーバー情報の取得
  3. 03Gotify アプリとクライアントの管理
  4. 04単一ツールによるアクションの振り分け
  5. 05削除時の確認必須

活用シーン

  1. 01Gotify 経由で通知を送信
  2. 02Gotify の状態確認やメッセージ取得
  3. 03アプリとクライアントの管理
  4. 04未確認の削除リクエストを防止

MCP 対応

通知、メッセージ取得、サーバー確認、管理操作を振り分ける単一の `gotify` MCP ツールを公開します。環境変数のトークンで設定済みの Gotify サーバーに接続し、削除操作には確認が必要です。

設定

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

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

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

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

ツール

1

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

パラメーター型必須説明
idintegerいいえdelete_message 操作的消息 ID。
namestringいいえ作成および更新操作で使用するアプリケーション名またはクライアント名。
limitintegerいいえmessages 操作で返すメッセージの最大数。
sinceintegerいいえmessages 操作で、この値より大きい ID のメッセージのみを返します。
titlestringいいえsend 操作のメッセージタイトル。
actionenumはい実行する操作:health、version、me、messages、applications、clients、status、send、create_application、update_application、create_client、または delete_message。health | version | me | messages | applications | clients | status | send | create_application | update_application | create_client | delete_message | delete_all_messages | delete_application | delete_client | help
app_idintegerいいえupdate_application 操作のアプリケーション ID。
extrasobjectいいえsend 操作でメッセージに付加する extras オブジェクト。
confirmbooleanいいえdelete_message などの破壊的な操作を確定するには true にする必要があります。
messagestringいいえsend 操作のメッセージ本文。
priorityintegerいいえ送信操作で使用するメッセージの優先度を整数で指定します。
client_idintegerいいえクライアント ID。
descriptionstringいいえcreate_application および update_application 操作で使用するアプリケーションの説明です。
default_priorityintegerいいえアプリケーションのデフォルトのメッセージ優先度です。

詳細

pushnote

pushnote は Gotify サーバーと通信します。プッシュ通知の送信、メッセージ・サーバーのヘルス状態・バージョンの読み取り、通知の経路となる Gotify アプリケーションとクライアントの管理を行います。すべての機能は、コマンドラインインターフェイスと stdio MCP サーバーの両方で、単一のアクションルーターツール gotify として提供されます。どちらも同じバイナリで動作します。

設定には 3 つの環境変数を使用します。GOTIFY_URL は Gotify サーバーのベース URL で、必須です。設定されていない場合、ローカルの help を除くすべてのアクションは、リクエストを送信する前に失敗します。GOTIFY_CLIENT_TOKEN は、読み取りと管理(現在のユーザー、メッセージ、アプリケーション、クライアント)に使用する Gotify クライアントトークンです。GOTIFY_APP_TOKEN は、send アクションでのみ使用する Gotify アプリケーショントークンです。トークンは環境からのみ取得し、ツールの引数として渡すことはありません。

インストール

npx @reneturcios/pushnote health

または、コンテナーイメージを実行します。

docker run -i ghcr.io/cloudcorprecords/pushnote

コンテナーはデフォルトで MCP サーバーを起動します(下記参照)。CLI として使用するには、CLI 引数を渡してください。

CLI

各コマンドは 1 つのルーターアクションに対応します。複数語のコマンドは、ここに示すハイフン区切り形式と、アンダースコアのアクション名の両方を使用できます(例:create-application または create_application)。

export GOTIFY_URL=https://gotify.example.com
export GOTIFY_CLIENT_TOKEN=<client token>
export GOTIFY_APP_TOKEN=<app token>

pushnote health
pushnote version
pushnote me
pushnote messages --limit 25 --since 40
pushnote messages --app-id 7
pushnote applications
pushnote clients
pushnote status
pushnote send "deploy finished" --title CI --priority 5
pushnote create-application alerts --description "Alert channel" --default-priority 4
pushnote update-application 3 --name renamed
pushnote create-client phone
pushnote delete-message 9 --confirm
pushnote delete-all-messages --confirm
pushnote delete-application 4 --confirm
pushnote delete-client 5 --confirm
pushnote help

pushnote --version

成功したコマンドは、上流の JSON ペイロードを出力します(status と help は代わりにローカルの出力を返します)。終了コード:成功時は 0、呼び出しが失敗した場合(上流 API エラーまたは拒否された破壊的操作を含む)は 1、使用法エラーの場合は 2 です。

破壊的コマンド(4 つの delete-* コマンド)は、--confirm が渡されない限り何も実行しません。指定しない場合は、Gotify サーバーにリクエストが届く前に失敗します。

MCP サーバー

mcp サブコマンドで stdio MCP サーバーを起動します。

npx -y @reneturcios/pushnote mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "pushnote": {
      "command": "npx",
      "args": ["-y", "@reneturcios/pushnote", "mcp"],
      "env": {
        "GOTIFY_URL": "https://gotify.example.com",
        "GOTIFY_CLIENT_TOKEN": "<client token>",
        "GOTIFY_APP_TOKEN": "<app token>"
      }
    }
  }
}
ツール

ツールは gotify の 1 つで、必須の action 引数と、そのアクションで必要となるパラメーターを任意のトップレベル引数として受け取ります。

アクション必須任意トークン
health——なし
version——なし
me——クライアント
messages—app_id、limit、sinceクライアント
applications——クライアント
clients——クライアント
status——なし(ローカル)
sendmessagetitle、priority、extrasアプリ
create_applicationnamedescription、default_priorityクライアント
update_applicationapp_idname、description、default_priorityクライアント
create_clientname—クライアント
delete_messageid、confirm—クライアント
delete_all_messagesconfirm—クライアント
delete_applicationapp_id、confirm—クライアント
delete_clientclient_id、confirm—クライアント
help——なし(ローカル)

4 つすべての削除アクションは、confirm が true でない限り実行を拒否し、この確認はリクエストの送信前に行われます。status はローカルのスナップショット(Gotify URL、設定されているトークンの種類、アクション数)を返し、トークンの値は含めません。help はアクションのドキュメントをローカルで返します。

開発

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 つのサーバーを複数のクライアントで再利用できます。