Gotify RMCP について
Gotify RMCPは、Gotifyのプッシュ通知を送信し、メッセージ、アプリ、クライアントを参照・管理するRust製MCPサーバーとCLIです。MCPやコマンドラインからGotifyを操作するエージェント向けで、削除には明示的な確認が必要です。
主な機能
- 01タイトルと優先度付きの通知送信
- 02メッセージ、ユーザー、状態の確認
- 03アプリの作成と更新
- 04クライアントの作成
- 05削除操作での明示的な確認
活用シーン
- 01Gotifyプッシュ通知の送信
- 02最近のメッセージと稼働状態の確認
- 03Gotifyアプリとクライアントの管理
- 04CLIからのGotify操作
MCP 対応
MCPサーバーは`gotify`ツール、ワークフロー用プロンプト、ツールスキーマのリソースを提供します。stdioまたはStreamable HTTPでMCPクライアントに接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y gotify-rmcpGOTIFY_URLGotify server base URL.GOTIFY_CLIENT_TOKENシークレットGotify client token for read and management actions.GOTIFY_APP_TOKENシークレットGotify app token for sending notifications.GOTIFY_RMCP_VERSIONOptional GitHub release tag override for the downloaded Gotify RMCP binary.GOTIFY_RMCP_REPOOptional GitHub owner/repo override for release asset downloads.GOTIFY_RMCP_RELEASE_BASE_URLOptional release download base URL override.RUST_LOGTracing filter for Gotify RMCP logs.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
gotify-rmcp
MCP と CLI を通じて Gotify の通知、アプリ、クライアント、メッセージを管理します。
MCP ツールの gotify と rgotify CLI を提供します。エージェントは、stdio MCP、Streamable HTTP MCP、またはシェルコマンドを直接実行して、通知の送信、サーバーの状態確認、メッセージの一覧表示、Gotify のアプリやクライアントの管理を行えます。
30 秒で試す方法: GOTIFY_URL を設定し、npx -y @dinglebear/rgotify health --json を実行します
-> GOTIFY_MCP_HOST=127.0.0.1 npx -y @dinglebear/rgotify serve でループバック HTTP を起動します
-> {"action":"health"} を指定して tools/call を呼び出します。
ステータス: 稼働中の RMCP アップストリームクライアントサーバーです。書き込みが可能ですが、破壊的な削除アクションには明示的な確認が必要です。HTTP MCP は、ループバック開発モード、静的ベアラートークン、lab-auth を介した Google OAuth をサポートしています。
用途外: Gotify の置き換え、通知の独立した保存、汎用 Webhook ルーティング、リマインダーのスケジュール設定、マルチテナントの分離、MCP ツールの引数を介した Gotify トークンの受け渡しには対応していません。
目次
- 名前
- 機能と制限
- インストール
- クイックスタート
- クライアントの設定
- 実行環境
- MCP ツールリファレンス
- CLI リファレンス
- 設定
- 認証
- 安全性と信頼モデル
- アーキテクチャ
- 配布契約
- 開発
- 検証
- デプロイ
- トラブルシューティング
- 関連サーバー
- ドキュメント
- ライセンス
名前
| 対象 | このリポジトリでの名前 |
|---|---|
| リポジトリ | dinglebear-ai/rgotify |
| Rust クレート(Cargo パッケージ) | gotify-mcp |
| バイナリ/CLI | rgotify |
| npm パッケージ | @dinglebear/rgotify |
| npm バイナリエイリアス | gotify-rmcp、rgotify |
| MCP ツール | gotify |
| MCP レジストリ名 | ai.dinglebear/rgotify |
| 設定ディレクトリ | ホストでは ~/.gotify、コンテナでは /data |
| 環境変数のプレフィックス | npm ランチャーの制御には GOTIFY_*、GOTIFY_MCP_*、GOTIFY_RMCP_* |
これらの名前は意図的に異なっています。npm パッケージとレジストリエントリには RMCP ファミリー名を使い、Cargo パッケージは gotify-mcp、Git リポジトリは rgotify、配布されるバイナリには Rust CLI の短縮名 rgotify を使います。
機能と制限
- メッセージ、タイトル、優先度、追加情報を指定して Gotify プッシュ通知を送信します。
- サーバーの状態、ランタイムステータス、サーバーバージョン、現在のユーザー、メッセージ、アプリケーション、クライアントを読み取ります。
- 明示的な破壊的操作の確認後に限り、メッセージ、すべてのメッセージ、アプリケーション、クライアントを削除します。
- よくあるワークフロー向けの MCP プロンプトと、現在のツールスキーマを含むリソースを公開します。
| このリポジトリが担当 | Gotify が担当 | 明示的な対象外 |
|---|---|---|
| MCP/CLI への投影、リクエストの検証、認証ポリシー、レスポンスの整形、セットアップ確認、破壊的操作の制限。 | 通知の保存と配信、Gotify ユーザー、トークン発行、アプリ/クライアントの状態、アップストリーム API の仕様。 | 通知のスケジュール設定、独立した永続化、任意の Webhook 中継動作、マルチテナントのサンドボックス化、認証情報の仲介。 |
インストール
| パス | コマンド | 最適な用途 | 備考 |
|---|---|---|---|
| npm / npx | npx -y @dinglebear/rgotify --help | ローカルの MCP クライアントや手軽な試用。 | GitHub Releases から対応する rgotify バイナリをダウンロードします。 |
| リリースインストーラー | curl -fsSL https://raw.githubusercontent.com/dinglebear-ai/rgotify/main/scripts/install.sh | bash | Node を使わないホストへのインストール。 | 現在の Linux ホスト用に rgotify をインストールします。 |
| Docker / Compose | docker compose up -d | 複数のユーザーで共有する HTTP MCP のデプロイ。 | .env を読み込み、コンテナのポート 40020 を公開します。 |
| ソースからビルド | cargo build --release | 開発や監査。 | target/release/rgotify を生成します。 |
| プラグイン | claude plugin install plugins/gotify | このチェックアウトから Claude Code のローカルプラグインをセットアップ。 | フックは含まれません。実行後に手動で rgotify setup repair を一度実行してください。 |
npm / npx
手動でバイナリをインストールせずに、stdio MCP サーバーまたは CLI を実行します。
npx -y @dinglebear/rgotify --help
npx -y @dinglebear/rgotify mcp
npx -y @dinglebear/rgotify health --json
npm パッケージは postinstall 中に rgotify をダウンロードします。パッケージングのテスト時に限り、ダウンロードの動作を上書きしてください。
| 変数 | 用途 |
|---|---|
GOTIFY_RMCP_SKIP_DOWNLOAD=1 | postinstall によるバイナリのダウンロードをスキップします。 |
GOTIFY_RMCP_VERSION or GOTIFY_RMCP_BINARY_VERSION | GitHub Release のタグを選択します。 |
GOTIFY_RMCP_REPO | リリースのダウンロード元となる GitHub リポジトリを選択します。 |
GOTIFY_RMCP_RELEASE_BASE_URL | カスタムのリリースベース URL を選択します。 |
ソースからビルド
git clone https://github.com/dinglebear-ai/rgotify
cd rgotify
cargo build --release
./target/release/rgotify --help
サポート対象となる最小の Rust バージョン:1.86。
クイックスタート
1. Gotify を設定する
最初の呼び出しを最も安全に行うには、GOTIFY_URL だけが必要です。
export GOTIFY_URL=https://gotify.example.com
管理操作や送信操作を使う前に、Gotify の Web UI でトークンを作成してください。
export GOTIFY_CLIENT_TOKEN=Cxxxxxxxxxxxxxxxx
export GOTIFY_APP_TOKEN=Axxxxxxxxxxxxxxxx
トークンの役割:
| トークン | 環境変数 | 用途 |
|---|---|---|
| クライアントトークン | GOTIFY_CLIENT_TOKEN | メッセージ、アプリ、クライアント、現在のユーザーなどの読み取りや管理操作。 |
| アプリトークン | GOTIFY_APP_TOKEN | send による通知の送信。 |
2. 安全な CLI 呼び出しを実行する
npx -y @dinglebear/rgotify health --json
3. ループバック HTTP MCP を起動する
GOTIFY_MCP_HOST=127.0.0.1 npx -y @dinglebear/rgotify serve
別のシェルで実行します。
curl -sf http://127.0.0.1:40020/health
4. 最初の MCP 呼び出しを行う
curl -s -X POST http://127.0.0.1:40020/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"gotify","arguments":{"action":"health"}}}'
クライアントの設定
Claude Code Stdio
{
"mcpServers": {
"gotify": {
"command": "npx",
"args": ["-y", "gotify-rmcp", "mcp"],
"env": {
"GOTIFY_URL": "https://gotify.example.com",
"GOTIFY_CLIENT_TOKEN": "Cxxxxxxxxxxxxxxxx",
"GOTIFY_APP_TOKEN": "Axxxxxxxxxxxxxxxx"
}
}
}
}
Claude Code HTTP
{
"mcpServers": {
"gotify": {
"type": "http",
"url": "http://127.0.0.1:40020/mcp",
"headers": {
"Authorization": "Bearer ${GOTIFY_MCP_TOKEN}"
}
}
}
}
Codex / Labby Gateway
1 つの長時間稼働サーバーを共有する場合は、Labby を通じて Gotify を HTTP アップストリームとして登録します。ローカルのみで使う場合は、stdio として直接実行します。
[mcp_servers.gotify]
command = "npx"
args = ["-y", "gotify-rmcp", "mcp"]
汎用 MCP JSON
{
"command": "rgotify",
"args": ["mcp"],
"env": {
"GOTIFY_URL": "https://gotify.example.com"
}
}
API キー、パスワード、OAuth シークレット、SSH キー、Gotify クライアントトークン、Gotify アプリトークン、アップストリームのベアラートークンを MCP ツールの引数に含めないでください。環境変数、設定ファイル、または MCP クライアントのシークレットストレージを使用してください。
実行環境
| 環境 | 状態 | エントリーポイント | 用途 |
|---|---|---|---|
| MCP stdio | サポート対象 | rgotify mcp、npx -y @dinglebear/rgotify mcp | ローカルの子プロセス MCP クライアント。 |
| MCP HTTP | サポート対象 | rgotify serve、POST /mcp | ローカルまたは共有サーバーへのデプロイ向けの Streamable HTTP MCP。 |
| CLI | サポート対象 | rgotify <command> | スクリプトからの同等操作やデバッグ。 |
| プロンプト | サポート対象 | send_notification、check_status | 再利用可能なエージェント向けプロンプト。 |
| リソース | サポート対象 | gotify://schema/mcp-tool | gotify ツールの JSON スキーマ。 |
| REST API | 提供なし | N/A | Gotify がすでに REST API を提供しています。 |
| Web UI | 提供なし | N/A | Gotify がすでに Web UI を提供しています。 |
MCP ツールリファレンス
公開されている MCP ツールは gotify の 1 つです。必須の action 引数を渡して操作を選択します。
読み取り操作
| アクション | 説明 | 必須パラメーター | 任意パラメーター |
|---|---|---|---|
health | Gotify サーバーのヘルスチェック。 | なし | なし |
version | Gotify サーバーのバージョン。 | なし | なし |
me | 現在認証されているユーザー。 | なし | なし |
messages | メッセージの一覧を取得します。 | なし | app_id、limit、since |
applications | アプリケーションの一覧を取得します。 | なし | なし |
clients | クライアントの一覧を取得します。 | なし | なし |
status | 実行時の状態、設定のスナップショット、カウンターを返します。 | なし | なし |
書き込みアクション
| アクション | 説明 | 必須パラメーター | 任意パラメーター |
|---|---|---|---|
send | プッシュ通知を送信します。 | message | title、priority、extras |
create_application | アプリケーションを作成します。 | name | description、default_priority |
update_application | アプリケーションを更新します。 | app_id | name、description、default_priority |
create_client | クライアントを作成します。 | name | なし |
破壊的アクション
破壊的アクションには、MCP 引数で confirm=true、CLI で --confirm、またはプロセス環境で GOTIFY_ALLOW_DESTRUCTIVE=true が必要です。
| アクション | 説明 | 必須パラメーター |
|---|---|---|
delete_message | メッセージを 1 件削除します。 | id、confirm |
delete_all_messages | すべてのメッセージを削除します。 | confirm |
delete_application | アプリケーションとそのメッセージを削除します。 | app_id、confirm |
delete_client | クライアントを削除します。 | client_id、confirm |
メタ、プロンプト、リソース
| プリミティブ | 名前 / URI | 目的 |
|---|---|---|
| ツールアクション | help | 組み込みの Markdown ツールヘルプを返します。 |
| プロンプト | send_notification | エージェントが通知を送信する手順を案内します。 |
| プロンプト | check_status | ヘルス状態と最近のメッセージを確認します。 |
| リソース | gotify://schema/mcp-tool | 現在のアクションベースの JSON スキーマを返します。 |
厳選されたアクションの概要はこちらにあります。生成された docs/MCP_SCHEMA.md が追加されるまでは、すべてのパラメーターについて、現在のブランチのソースコードと docs/INVENTORY.md を正としてください。
CLI リファレンス
CLI は MCP ツールと同じサービスメソッドを呼び出します。
rgotify health [--json]
rgotify version [--json]
rgotify me [--json]
rgotify messages [--app-id N] [--limit N] [--since N] [--json]
rgotify applications [--json]
rgotify clients [--json]
rgotify send <message> [--title T] [--priority N] [--json]
rgotify create app <name> [--description D] [--priority N] [--json]
rgotify update app <app_id> [--name N] [--description D] [--priority N] [--json]
rgotify create client <name> [--json]
rgotify delete message <id> [--confirm] [--json]
rgotify delete all [--confirm] [--json]
rgotify delete app <app_id> [--confirm] [--json]
rgotify delete client <client_id> [--confirm] [--json]
rgotify serve
rgotify serve mcp
rgotify mcp
rgotify doctor [--json]
rgotify setup check [--json]
rgotify setup repair [--json]
rgotify setup install [--json]
rgotify setup plugin-hook [--no-repair] [--json]
2 語形式では、ハイフン区切りのエイリアスも使用できます:create-app、update-app、create-client、delete-message、delete-all、delete-app、delete-client。
既知の同等性に関する例外:action=status は MCP 専用の可観測性機能です。運用者による確認で CLI を使う場合は、rgotify doctor --json が相当します。
設定
設定は存在する場合 config.toml から読み込まれ、その値は環境変数で上書きされます。起動時にバイナリは、ホストでは ~/.gotify/.env、コンテナーでは /data/.env も読み込みます。ただし、すでに設定されている変数は上書きしません。
必須の上流変数
| 変数 | 必須 | 説明 |
|---|---|---|
GOTIFY_URL | はい | Gotify サーバーのベース URL。例:https://gotify.example.com。 |
GOTIFY_CLIENT_TOKEN | 管理操作の場合 | 読み取りおよび管理操作に使用する Gotify クライアントトークン。 |
GOTIFY_APP_TOKEN | send の場合 | 通知の送信にのみ使用する Gotify アプリトークン。 |
ランタイム変数
| 変数 | デフォルト | 説明 |
|---|---|---|
GOTIFY_ALLOW_DESTRUCTIVE | false | 破壊的操作の確認ゲートをスキップします。 |
GOTIFY_MCP_HOST | 0.0.0.0 | HTTP MCP のバインド先ホストです。 |
GOTIFY_MCP_PORT | 40020 | HTTP MCP のバインド先ポートです。 |
GOTIFY_MCP_TOKEN | empty | ループバック開発モード以外で HTTP MCP に使用する静的ベアラートークンです。 |
GOTIFY_MCP_NO_AUTH | false | HTTP MCP の認証を無効にします。ループバック上、または信頼できるゲートウェイの背後でのみ使用してください。 |
GOTIFY_MCP_AUTH_MODE | bearer | lab-auth 経由の Google OAuth を使用するには oauth に設定します。 |
GOTIFY_MCP_PUBLIC_URL | empty | OAuth メタデータと保護リソースの検出に使用する公開 URL です。 |
GOTIFY_MCP_GOOGLE_CLIENT_ID | empty | Google OAuth クライアント ID です。 |
GOTIFY_MCP_GOOGLE_CLIENT_SECRET | empty | Google OAuth クライアントシークレットです。 |
GOTIFY_MCP_AUTH_ADMIN_EMAIL | empty | 初期管理者/管理者の OAuth メールアドレスです。 |
GOTIFY_MCP_AUTH_SQLITE_PATH | <data>/auth.db | OAuth 状態データベースのパスです。 |
GOTIFY_MCP_AUTH_KEY_PATH | <data>/auth-jwt.pem | OAuth JWT 署名鍵のパスです。 |
GOTIFY_MCP_ALLOWED_HOSTS | empty | カンマ区切りの Host ヘッダー許可リストです。 |
GOTIFY_MCP_ALLOWED_ORIGINS | empty | カンマ区切りの Origin ヘッダー許可リストです。 |
GOTIFY_NOAUTH | false | 認証なしでループバック以外にバインドできるようにする回避手段です。以下を参照してください。 |
GOTIFY_MCP_HOME | ~/.gotify or /data | rgotify setup が使用するアプリデータディレクトリを上書きします。 |
RUNNING_IN_CONTAINER | unset | /data のアプリデータパスを強制します。 |
RUST_LOG | info | Rust のログフィルターです。Stdio のログは stdout に出力しないでください。 |
GOTIFY_MCP は lab-auth の環境変数プレフィックスでもあるため、lab-auth はここに記載したもの以外の GOTIFY_MCP_* キーも読み取ります。
起動時のバインドガード
認証が設定されていない状態で、ループバック以外のホストにバインドする場合、サーバーは起動を拒否します。0.0.0.0 にバインドするには、GOTIFY_MCP_TOKEN を設定するか、GOTIFY_MCP_AUTH_MODE=oauth を使用するか、上流ゲートウェイで実際に認証が強制されている場合に限り GOTIFY_NOAUTH=true を設定してください。
認証
| ポリシー | 条件 | 動作 |
|---|---|---|
| ループバック開発 | GOTIFY_MCP_HOST が 127. で始まる、または GOTIFY_MCP_NO_AUTH=true | HTTP 認証レイヤーはマウントされません。ローカルテスト専用です。 |
| 静的ベアラー | GOTIFY_MCP_TOKEN が設定されており、サーバーがループバック開発モードではない | /mcp では Authorization: Bearer <token> が必要です。 |
| OAuth | GOTIFY_MCP_AUTH_MODE=oauth と Google OAuth の設定がある | /mcp は lab-auth OAuth とスコープ付きベアラートークンを使用します。 |
| Stdio | rgotify mcp | ローカルの子プロセス境界が信頼境界です。 |
MCP のスコープは gotify:read と gotify:write です。静的ベアラートークンには両方のスコープが付与されます。OAuth トークンは MCP 呼び出しがディスパッチされる前に検証されます。
安全性と信頼モデル
- MCP 呼び出し元が、Gotify クライアントトークン、Gotify アプリトークン、OAuth シークレット、静的ベアラートークン、パスワード、API キーをツールの引数として渡すことはありません。
- 上流の認証情報は環境変数/設定ファイルからのみ読み込まれます。
- 削除操作には
confirm=true、--confirm、または明示的なGOTIFY_ALLOW_DESTRUCTIVE=trueプロセス上書きが必要です。 - 通知状態の永続的な情報源は Gotify です。このサーバーはその API の薄い投影レイヤーです。
- Stdio モードはユーザーのローカル権限で実行され、サンドボックスではありません。
- HTTP モードをループバックの外部に公開する場合は、上流のリバースプロキシによる TLS と、ベアラーまたは OAuth 認証を必ず使用してください。
アーキテクチャ
MCP client / CLI
|
v
rgotify
|
+-- MCP shim: JSON args -> GotifyService -> structured result
+-- CLI shim: argv -> GotifyService -> stdout
|
v
GotifyService
|
v
GotifyClient
|
v
Gotify REST API
| パス | 役割 |
|---|---|
src/app.rs | ビジネスサービスレイヤー、破壊的操作のゲート、レスポンスの整形。 |
src/gotify.rs | Gotify REST クライアント。 |
src/mcp/ | RMCP ツール、プロンプト、リソース、スキーマ、認証チェック。 |
src/cli/ | CLI パーサー、doctor、セットアップヘルパー、出力フォーマット。 |
src/config.rs | 環境変数/設定の読み込みとデフォルト値。 |
packages/gotify-rmcp/ | npm ランチャーとリリースバイナリのダウンローダー。 |
薄いシムの原則は意図的なものです。MCP と CLI は入力を解析し、GotifyService を呼び出して出力を返します。認証情報の処理、破壊的操作のゲート、Gotify API の動作は、MCP と CLI のシムの外部に置かれます。
配布契約
| 成果物 | ファイル | 整合させるもの |
|---|---|---|
| Rust クレート/バイナリ | Cargo.toml、Cargo.lock | Git タグ、リリースアセット、CLI ドキュメント、インストールスクリプト。 |
| npm ランチャー | packages/gotify-rmcp/package.json、bin/rgotify.js、lib/platform.js、scripts/install.js | GitHub Release タグ、および rgotify-x86_64.tar.gz と rgotify-windows-x86_64.tar.gz という名前のアセット。 |
| GitHub Releases | .github/workflows/*、scripts/install.sh | パッケージのバージョン、バイナリ名、チェックサム、対応プラットフォーム。 |
| Docker / Compose | config/Dockerfile、docker-compose*.yml | 公開ポート 40020、ヘルスチェック /health、環境変数ファイルの契約。 |
| MCP レジストリ | server.json | サーバー ID tv.nashost/gotify-rmcp、環境変数、トランスポート URL、パッケージのバージョン。 |
| プラグイン | plugins/gotify | 実行時コマンド、ユーザー設定、同梱メタデータ。フックは同梱されていません。 |
| ドキュメント | README.md、docs/INVENTORY.md、docs/QUICKSTART.md | 現在のバイナリ名、デフォルトポート、アクション一覧、環境変数名。 |
リリース時の不変条件:npm パッケージのバージョン、Rust クレートのバージョン、server.json.version、GitHub Release タグ、リリースアセット名、README のインストール例は、必ず一緒に更新してください。README の例では、古い別名ではなく正式なリポジトリ名とバイナリ名を使用してください。
開発
cargo fmt -- --check
cargo clippy --all-targets -- -D warnings
cargo test
cargo build --release
npm --prefix packages/gotify-rmcp run check
検証
# Binary and CLI
cargo build --release
./target/release/rgotify --version
GOTIFY_URL=https://gotify.example.com ./target/release/rgotify health --json
# HTTP health
GOTIFY_URL=https://gotify.example.com GOTIFY_MCP_HOST=127.0.0.1 ./target/release/rgotify serve
curl -sf http://127.0.0.1:40020/health
# MCP tool call
curl -s -X POST http://127.0.0.1:40020/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"gotify","arguments":{"action":"health"}}}'
実際の送信テストまたは管理テストを行う場合は、Gotify インスタンスの GOTIFY_CLIENT_TOKEN と GOTIFY_APP_TOKEN を追加してください。
デプロイ
Docker / Compose
cp .env.example .env
$EDITOR .env
docker compose up -d
curl -sf http://127.0.0.1:40020/health
コンテナはアプリデータを /data に保存します。通常は ${HOME}/.gotify をマウントします。
リバースプロキシ
/mcp と /health のみを公開してください。Streamable HTTP のヘッダーを保持し、TLS を必須にして、サーバーをループバックの外部に公開する前にベアラートークン認証または OAuth 認証を設定してください。
プラグイン
プラグインにはClaude Code フックが含まれていないため、セットアップは自動で実行されません。プラグインのインストール後または更新後に、手動で一度実行してください。
claude plugin install plugins/gotify
rgotify setup repair # create ~/.gotify and its .env, then re-check
rgotify setup install # copy the binary into ~/.local/bin so it is on PATH
rgotify setup check # read-only verification
rgotify setup repair は appdata ディレクトリとプレースホルダー .env を作成します。rgotify setup install はターミナルから呼び出せるコピーを ~/.local/bin に保持します(/plugin update の後に再実行してください)。rgotify setup check は appdata、.env、PATH 上のバイナリ、ポート 40020 が空いていることを検証します。サーバー自体はプラグインの .mcp.json にある ${user_config.*} ブロックから設定を読み取るため、これらのコマンドはローカル環境を初期化するものであり、サーバーを設定するものではありません。
トラブルシューティング
| 症状 | 考えられる原因 | 対処方法 |
|---|---|---|
/mcp からの 401 | ベアラートークンまたは OAuth トークンがないか、正しくありません。 | GOTIFY_MCP_TOKEN とクライアントヘッダーを確認するか、ローカルでループバック開発モードを使用してください。 |
| CLI のヘルスチェックが失敗する | GOTIFY_URL が設定されていないか、接続できません。 | GOTIFY_URL をエクスポートし、このホストから Gotify に到達できることを確認してください。 |
send が認証エラーで失敗する | トークンの種類が間違っています。 | 送信には GOTIFY_APP_TOKEN、管理には GOTIFY_CLIENT_TOKEN を使用してください。 |
| 破壊的なアクションがブロックされる | 確認ゲートが機能しています。 | confirm=true、--confirm、または意図的に GOTIFY_ALLOW_DESTRUCTIVE=true を追加してください。 |
| stdio MCP の JSON 解析エラー | ログが stdout に出力されています。 | プロトコルログを stdout に出力しないようにし、必要に応じて RUST_LOG のログレベルを下げてください。 |
| npm ランチャーがバイナリを見つけられない | リリースアセットのダウンロードに失敗したか、スキップされました。 | 再インストールし、GOTIFY_RMCP_VERSION を確認するか、ソースから rgotify をビルドしてください。 |
関連サーバー
- soma - プロバイダー連携型 MCP サーバー向けの RMCP ランタイムです。
- unifi-rmcp - UniFi コントローラー REST API ブリッジです。
- tailscale-rmcp - デバイス、ユーザー、tailnet の操作に対応した Tailscale API ブリッジです。
- unraid - Unraid モノレポです。GraphQL MCP ブリッジ(
runraid)と Unraid プラグインを含みます。 - apprise-rmcp - 多数の配信バックエンドに対応した Apprise 通知ファンアウトブリッジです。
- arcane-rmcp - コンテナーと関連リソースを管理する Arcane Docker 管理ブリッジです。
- yarr - Sonarr、Radarr、Prowlarr、Plex、および関連サービス向けのメディアスタックブリッジです。
- ytdl-rmcp - メディアのダウンロードとメタデータ処理のワークフローサーバーです。
- synapse-rmcp - scout および flux アクション向けのローカル Synapse ワークフローサーバーです。
- cortex - Syslog とホームラボのログを集約する MCP サーバーです。
- axon - RAG、クロール、スクレイピング、抽出、セマンティック検索のプロジェクトです。
- labby - ホームラボのコントロールプレーンおよび MCP ゲートウェイのプロジェクトです。
- lumen - ローカルでコードをセマンティック検索する MCP サーバーです。
ドキュメント
まずはこちらをご覧ください。
docs/QUICKSTART.md- 要点を絞ったセットアップ手順です。docs/INVENTORY.md- アクション、CLI コマンド、環境変数、エンドポイントのコンポーネント一覧です。docs/RUST.md- Rust 開発に関するメモです。docs/stack/ARCH.md- スタックアーキテクチャの詳細です。server.json- MCP レジストリのメタデータです。packages/gotify-rmcp/README.md- npm パッケージランチャーに関するメモです。
この README は厳選された内容です。生成されたカタログや網羅的なカタログは、それぞれのファイルで更新し、現在のブランチの詳細を確認する際の信頼できる情報源として扱ってください。
ライセンス
このプロジェクトのうち、Dinglebear が独自に作成した部分は AGPL-3.0-only の下でライセンスされています。AGPL の範囲外の条件を必要とする組織向けに、別途商用ライセンスも利用できます。サードパーティの素材には、引き続き各素材の元のライセンスが適用されます。LICENSING.md をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。