mcpField
H
hostdeck

hostdeck

ローカル
github.com/CloudCorpRecordsクラウド・インフラ01 週間前に更新

hostdeck について

hostdeckは、ゲームサーバー、Discordボット、アプリ、VPSを管理するFadeHostのホスト型MCPサービスへのローカルブリッジです。上流のツールと結果を転送し、CLIとstdioのMCPサーバーとしても利用できます。

主な機能

  1. 01ゲームサーバーの電源とコンソール操作
  2. 02サーバー状態、ログ、使用量の確認
  3. 03バックアップ、ワールド、サーバーファイルの管理
  4. 04ホスト型アプリとボットのデプロイ・運用
  5. 05VPSの電源とアプリ設定の管理

活用シーン

  1. 01サーバーの状態と直近のコンソール出力の確認
  2. 02Minecraftワールドのバックアップや整理
  3. 03リポジトリベースのアプリのデプロイやロールバック
  4. 04MCPクライアントからゲームサーバーやVPSを操作

MCP 対応

ローカルのstdio MCPサーバーとしてFadeHostの上流ツールを公開し、呼び出しと結果を転送します。CLIにも対応しています。

設定

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

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

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

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

ツール

38

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

このツールにパラメーターはありません。

詳細

hostdeck

hostdeck は、アカウントのゲームサーバー、Discord ボット、ホスト型アプリ、VPS インスタンスを管理する FadeHost のホスト型 MCP サーバーへの、小規模なローカルブリッジです。1 つの画面から、マシンの起動と停止、コンソールの読み取り、サーバーファイルの編集、バックアップの作成、リポジトリからのアプリのデプロイ、使用状況やファイアウォールの確認ができます。

このブリッジはホスティングデータを保持せず、独自のホスティング処理も実行しません。ライブエンドポイントから取得したままの上流サーバーのツール一覧をローカルで提供し、各ツール呼び出しを上流に転送して、結果を変更せずに返します。

ツール

ゲームサーバー:

  • list_servers — アカウントが管理できるすべてのゲームサーバー(所有するものとチームで共有されているもの)の ID、ゲーム、ステータス、アドレスを一覧表示します。サーバー ID を確認するには、まずこれを呼び出してください。 引数なし。
  • get_server — ステータス、ソフトウェアとバージョン、RAM/ディスク使用量、主要な設定、ポート、ノードの種類、直近のクラッシュ診断など、1 台のサーバーの詳細を表示します。必須: server。
  • get_console_logs — 最近の未加工のコンソール出力を取得します。 必須:server。任意:lines(50~400、デフォルトは150)。
  • get_live_stats — 稼働中のサーバーのメモリと CPU の使用状況をリアルタイムで取得します。必須:server。
  • get_player_activity — 指定期間の参加・退出・チャットの件数と最近のプレイヤーを取得します。必須:server。 任意:hours(1~168、デフォルトは24)。
  • start_server、stop_server、restart_server — パネルボタンと同じ保護された経路で電源操作を行います。停止と再起動の前にはワールドを保存します。 必須:server。
  • send_console_command — 実行中の Minecraft サーバーで、先頭にスラッシュを付けずにコンソールコマンドを 1 つ実行します。RCON 経由です。必須:server、command。

バックアップとワールド:

  • list_backups — サーバーのオフサイトバックアップスナップショット(ID、時刻、サイズ)を一覧表示します。必須:server。
  • create_backup — 今すぐオフサイトバックアップを開始します。 必須:server。
  • get_world_activity — Minecraft Java ワールドのチャンク数、ディスク使用量、整理可能な容量を取得します。 必須:server。
  • prune_world — ほとんど訪問されていないチャンクを削除します。デフォルトではドライランです。必須:server。任意: threshold、dry_run。
  • undo_world_prune — 直近の整理前のワールドファイルを復元します。必須:server。

作成:

  • create_server — 必要に応じてプリセットを使用するか、ゲームごとのオプションを指定してゲームサーバーを作成します。必須: name。任意:game、software、version、region、ram_mb、preset、options。
  • get_creation_options — create_server が受け付けるプリセットとゲームごとのオプションを取得します。任意:game。
  • create_app — GitHub または GitLab のリポジトリから Discord ボットまたはウェブアプリをデプロイします。必須:name、repo_url。任意:kind、region、tier、runtime、branch、start_command、build_command、build_mode、env、web_address、port。

ファイル:

  • list_files — サーバーのファイルシステム内のディレクトリを一覧表示します(そのサーバーの範囲内に制限されます)。必須:server。 任意:path。
  • read_file — テキストファイルを読み取ります(上限は96KB、バイナリファイルは拒否されます)。必須:server、path。
  • write_file — テキストファイルを作成または上書きします(上限は192KB、バックアップなしで上書きします)。必須:server、path、content。

ボットとアプリ:

  • list_bots — アカウント上のホスト済み Discord ボット: ID、名前、ステータス、ランタイム、ソースリポジトリ。引数はありません。
  • get_bot_logs — ホスト済みボットのランタイムログ。 必須:bot。
  • power_bot — ホスト済みボットを起動、停止、再起動します。 必須:bot、action(start、stop、restart のいずれか)。
  • redeploy_app — ホスト済みアプリまたはボットの最新コミットをプルして、再起動します。 必須:app。
  • list_app_deployments — デプロイ履歴:コミット(新しい順)と、現在稼働中のコミット。 必須:app。
  • rollback_app — アプリを以前のコミットに固定するか、再び最新のコミットを追跡します。 必須:app。任意:commit。
  • get_app_usage — アプリのプラン上限、最新値とピーク値、トラフィック。 必須:app。
  • get_app_firewall — アプリに適用されるアウトバウンドポリシーとルール。 必須:app。
  • set_app_firewall — 有料アプリのアウトバウンドリストを置き換えます:open、またはルールを指定したallowlist。 必須:app、policy。任意:rules。
  • get_app_refusals — ファイアウォールが過去1日間に実際に拒否した通信。 必須:app。
  • list_app_schedules — アプリのスケジュール済みコマンド(ID、最終実行時刻、次回実行時刻を含む)。 必須:app。
  • create_app_schedule — アプリに cron でスケジュールされたシェルコマンドを追加します。 必須:app、cron、command。任意:enabled。
  • delete_app_schedule — スケジュール済みコマンドを削除します。 必須:app、schedule_id。
  • move_app_region — 有料アプリを別のリージョンに移動するか、現在の実行リージョンを確認します。 必須:app。任意:region。
  • list_app_variables — アプリの環境変数名(値は返されません)。 必須:app。
  • set_app_variables — 環境変数を追加、変更、削除します。 必須:app。任意:set、unset。

VPS インスタンス:

  • list_vps — アカウントの管理対象 VPS インスタンス(ID、プラン、仕様、ステータス、リージョン、SSH ホストを含む)。 引数はありません。
  • power_vps — VPS を起動、シャットダウン、再起動します。 必須:vps、action(start、shutdown、reboot のいずれか)。

設定

  • FADEHOST_MCP_URL(任意)— 上流エンドポイントを上書きします。既定値はhttps://api.fadehost.com/mcpです。 (この上書きフックは、この再構築で独自にラベル付けしたものです。)
  • FADEHOST_API_KEY(任意)— 設定すると、すべての上流リクエストにX-API-Key: <key>ヘッダーが付加されます。ヘッダー名は、上流のレジストリレコードで宣言されているものです。設定されていない場合、このヘッダーは送信されません。 (環境変数名とこの転送も、この再構築で独自にラベル付けしたものです。元のインターフェースはキーなしで取得されました。)
転送の仕組み

最初のツール呼び出し時に、クライアントは上流とのストリーミング可能な HTTP セッションを開きます。まず JSON-RPC のinitializeリクエスト(protocolVersion 2025-03-26、clientInfo name hostdeck)を送り、次にnotifications/initialized通知を送り、その後、呼び出し元の引数を変更せずに含めたtools/callリクエストを送信します。上流がinitializeへの応答でMcp-Session-Idヘッダーを返した場合、その値はセッション中の後続リクエストすべてに付加され、プロセスの存続中は同じセッションが再利用されます。応答は通常の JSON またはサーバー送信イベントで届く場合があり、どちらも読み取られます。

上流からの成功結果は、上流が設定したisErrorフラグも含め、そのまま返されます。失敗(JSON-RPC エラー、2xx 以外のステータス、読み取れない応答、または完了できないリクエスト)は、テキストがhostdeck error:で始まるisError結果として返されます(この表示方法は、この再構築で独自にラベル付けしたものです)。

CLI

各ツールは、JSON 引数文字列を1つ受け取るサブコマンドとしても利用できます(引数を取らないツールでは省略します)。

npx @reneturcios/hostdeck list_servers
npx @reneturcios/hostdeck get_server '{"server":"server_42"}'
npx @reneturcios/hostdeck send_console_command '{"server":"server_42","command":"list"}'
npx @reneturcios/hostdeck --version

終了コード:成功時は0、isError結果の場合は1、使用方法に誤りがある場合は2。

MCP サーバー

npx -y @reneturcios/hostdeck mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "hostdeck": {
      "command": "npx",
      "args": ["-y", "@reneturcios/hostdeck", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/hostdeck
docker run --rm ghcr.io/cloudcorprecords/hostdeck --version

コンテナの既定のコマンドはmcpなので、最初の形式は stdio MCP サーバーです。それ以外の引数は通常どおり CLI に渡されます。

開発

npm install
npm run build
npm test
npm run dev

テストスイートは、スタブ化された JSON-RPC アップストリームに対してのみ実行されます。実際のネットワークへの呼び出しはありません。

ライセンス

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

コメント

MCP は初めてですか?

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

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