Codex ServerOps MCP について
ServerOpsは、CodexとClaude Code向けのステートフルなサーバー運用レイヤーで、WindowsからOpenSSH経由で選択したLinuxサーバーに接続します。Bashセッションや構造化ファイル操作を利用でき、認証プロンプトはローカルに表示され、不確かな変更結果は明示されます。
主な機能
- 01明示的なサーバープロファイル
- 02ステートフルなBash・対話セッション
- 03構造化されたUTF-8ファイル操作
- 04ローカルに表示されるSSH・sudoプロンプト
- 05ハッシュ前提条件付きテキスト編集
- 06内容を伏せたローカル監査イベント
活用シーン
- 01対象を絞った読み取り専用確認でサービスを診断
- 02保持中のプロジェクトセッションでリモート作業を継続
- 03ファイルを確認しハッシュ検証付き編集を提案
- 04SSH認証とsudoを対話形式で処理
MCP 対応
8つのツールを持つMCPコアがCodexとClaude Codeをローカルブローカーおよびワーカーセッションにつなぎ、Windows OpenSSH経由でLinuxサーバーに接続します。リモートサーバーへのServerOpsエージェント導入は不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ServerOps
Codex または Claude Code から、選択した Linux サーバーを操作できます。通常の会話を通じて操作でき、サーバーに ServerOps エージェントをインストールする必要はありません。
ServerOps は、操作の間も便利な Bash の状態を保持し、構造化された証跡を返します。また、OpenSSH や sudo で入力が必要になると、画面に表示されるローカルウィンドウを開きます。SSH ターミナルに常駐せずに、信頼性の高いサーバー作業を行う必要があるフリーランサー、代理店、サポートチーム、プロジェクトオーナー、オペレーター向けです。
3 つの約束
簡単に始められます
軽量な Codex および Claude Code プラグインが、共通の ServerOps コアに接続します。ガイド付きのローカルアシスタントを使って、認証情報をチャットに入力せずに明示的なサーバープロファイルを作成できます。
簡単に操作できます
通常の言葉で、実現したい結果を依頼できます。ServerOps は、保持された Bash セッションで作業ディレクトリとシェル環境を維持し、対話型のターミナル操作に対応します。また、制御不能な大量のターミナル出力ではなく、上限付きの構造化された結果を返します。
結果が重要な場面でも信頼できます
セッションは、使い捨ての MCP プロセスではなく、ローカルブローカーが所有するワーカーに属します。リモートでの変更結果が不確かな場合、ServerOps は outcome_unknown を報告し、自動で再試行することはありません。Linux の権限、明示的なプロファイル、可視化された認証、制御された権限昇格、ハッシュによる事前条件、編集内容を伏せたローカル監査が、信頼の基盤となります。
動作を見る
以下は、現在利用できる 8 つのツールで使用できる、実際に即したプロンプトです。
List my ServerOps profiles. Do not connect to a server or change anything.
Use the customer-web profile. Start read-only, identify the host and current user, then explain
why the service is unhealthy. Narrow the diagnosis with evidence instead of dumping every log.
Open the project profile, enter /srv/my-app, inspect the current Git and Compose state, and keep
the session open so we can continue from the same directory.
Read /srv/my-app/.env.example with the structured file tool. Propose a minimal change and show me
the observed SHA-256, but do not apply anything until I approve it.
期待される証跡と安全な境界については、手順ごとの再現可能なデモをご覧ください。
現在利用できる機能
- 明示的なプロファイルと、画面に表示されるローカルプロファイルアシスタント。
- コマンド実行と対話型ターミナルの各モードに対応した、ブローカー所有のステートフルな Bash セッション。
- オプションの管理対象ブローカータスクがインストールされ、ブローカー、ワーカー、Bash が稼働している場合、MCP クライアントの再起動後にセッションを再発見できます。
- 不明な結果を明示するエラー。結果が不確かな変更を自動で再試行することはありません。
- 設定済みのルート内での、上限付きの構造化された UTF-8 テキスト操作。編集時に、オプションで SHA-256 による事前条件を指定できます。
- 画面に表示されるローカル OpenSSH 認証とホストキーの判断に加え、ガイド付きの sudo とオプションの root セッション。
- リモート出力やファイル内容を含まない、編集内容を伏せたローカル JSONL 監査イベント。
- 8 つのツールを備えた 1 つの MCP コアと、薄い Codex および Claude Code ラッパー。
- 最初の MCP 起動時に自動で行われる、冪等なローカルブートストラップ。
- Codex に加え、ネイティブの Claude Code マーケットプレイスとプラグイン。
- Linux サーバーへの ServerOps エージェントやデーモンのインストールは不要です。
現在のランタイムは Windows を優先しており、Windows OpenSSH を使って Linux に接続します。各操作とスキーマの詳細については、ツールリファレンスをご覧ください。
Codex クイックスタート
リポジトリのマーケットプレイスとプラグインをインストールします。固定バージョンの 0.1.1 MCP は初回起動時に独自のローカル状態を作成するため、事前にセットアップコマンドを実行する必要はありません。
codex plugin marketplace add cyyprezz/codex-serverops-mcp
codex plugin add codex-serverops-mcp@serverops-codex
新しい Codex タスクを開始します。プラグインを使用する場合は、ユーザー全体に適用される別の [mcp_servers.serverops] ブロックを追加しないでください。以前のインストーラーがその代替ブロックを作成していた場合は、serverops-install codex-config --remove で削除内容をプレビューし、確認してから --apply を付けて再度実行してください。プロファイルと監査データは保持されます。サーバーに接続せずに始めます。
List my ServerOps profiles. Do not create, edit, remove, test, or connect to a profile. If no
suitable profile exists, wait for me to provide non-secret suggestions before opening the visible
profile assistant. Credentials and host-key decisions belong only in the local ServerOps window.
Claude Code のクイックスタート
Claude Code ラッパーでは、同じバージョン固定の 0.1.1 ランタイムと、クライアントに依存しないスキルを使用します。
claude plugin marketplace add cyyprezz/codex-serverops-mcp
claude plugin install serverops@serverops-claude
GitHub の省略記法で、設定されていない SSH キーが必要になる場合は、代わりに HTTPS でマーケットプレイスを追加してください。
claude plugin marketplace add https://github.com/cyyprezz/codex-serverops-mcp.git
新しい Claude Code セッションを開始するか、プラグインを再読み込みして、同じ安全な最初のプロンプトを使用します。
ローカルの自動ブートストラップ
バージョン 0.1.1 は、個別のセットアップコマンドなしで起動します。MCP、ブローカー、セットアップ、チェック、Doctor、更新では、1 つの冪等なブートストラップを共有します。これは、現在のユーザー向けに、アプリ、設定、ランタイム、監査、移行、ステータス用のパスなど、ServerOps が所有するローカル状態のみを準備します。
ブートストラップでは、Codex または Claude の設定の編集、スケジュールされたタスクのインストール、プロファイルの作成、サーバーへの接続、管理者権限の要求、管理対象外ファイルの上書きは行いません。サーバーへの接続が最初に発生する可能性があるのは、画面に表示されるプロファイルアシスタントです。
明示的な serverops-install setup コマンドは、メンテナンスやオプションのブローカータスクのプレビューで引き続き使用でき、冪等です。プラグインの前提条件ではなくなりました。
オプションのインストーラーとブローカータスク
バージョン固定のインストーラーでは、共有ランタイムまたはクライアントのパスを確認できます。
uvx --from "codex-serverops-mcp==0.1.1" serverops-install check --client core
uvx --from "codex-serverops-mcp==0.1.1" serverops-install doctor --client claude
doctor --client codex では、インストーラーが管理する代替のユーザー設定も確認します。そのため、プラグインのみをインストールした Codex では、このオプションのブロックがないという警告が表示される場合があります。この警告だけでプラグインの不具合が証明されるわけではありません。
MCP クライアントのプロセス再起動後に、実行中のセッションを確実に再検出する必要がある場合に限り、管理対象の現在のユーザー用ブローカータスクをインストールしてください。まずプレビューし、その後、明示的に適用します。
uvx --from "codex-serverops-mcp==0.1.1" serverops-install setup --broker-task
uvx --from "codex-serverops-mcp==0.1.1" serverops-install setup --broker-task --apply
このタスクで管理者権限の昇格やパスワードの保存は行いません。Windows の再起動やブローカーのクラッシュ後もセッションが維持されるわけではありません。現在のブローカーは、孤立したワーカーを引き継ぎません。
一般的なワークフロー
顧客サーバーの確認
名前付きの顧客プロファイルを選択し、読み取り専用で開始して、対象と身元を確認します。関連するサービスの証拠だけを調査し、事実、仮説、不足情報、変更内容をそれぞれ分けて報告します。
リモートプロジェクトでの作業
プロジェクトディレクトリに一度移動し、呼び出し間でシェル環境を保持しながら、範囲を限定したコマンドを実行します。設定済みのパスでは、構造化されたファイル読み取り、または前提条件を指定したテキスト編集を使用します。
対話型または長時間実行の作業
対話操作、逐次的な出力、割り込み、サイズ変更、またはターミナル状態の保持が実際に必要な場合に限り、ターミナルを使用します。完了まで実行するコマンドは、設定された最大値である 3600 秒まで実行でき、終了コード、所要時間、CWD、出力の切り詰め状態を返します。
設定済みのリモートファイル
プロファイルで設定されたルート内にある UTF-8 テキストのパスを、一覧表示、調査、検索、読み取り、ハッシュ計算、書き込み、パッチ適用、名前変更、作成、削除できます。これらのルートは構造化ファイルツールの使用範囲を制限しますが、シェルコマンドをサンドボックス化したり、バックアップの代わりになったりするものではありません。
認証と sudo
パスワード、鍵のパスフレーズ、ホスト鍵に関する判断、対話型 sudo の入力は、個別の表示可能なローカルウィンドウで扱われます。ServerOps は既存の OpenSSH の動作を利用することも、管理された鍵の切り替えを案内することもできます。sudo は引き続き、サーバーの PAM と sudoers ポリシーに従います。
単発の SSH コマンドと ServerOps の使い分け
| ニーズ | ssh host "command" | ServerOps |
|---|---|---|
| 単発のコマンドを実行する | 最もシンプルな直接的な方法です | 実行できますが、多くの場合は不要です |
| CWD とシェル環境を維持する | 毎回再構築する必要があります | 1 つの稼働中の Bash セッションで保持されます |
| 対話型ターミナルの制御 | ターミナルのワークフローが必要です | カーソルの読み取り、入力、中断、サイズ変更、ステータスに対応します |
| 構造化テキストファイル | シェル出力の解析とクォートが必要です | 結果のサイズを制限でき、必要に応じてハッシュによる事前条件を指定できます |
| 認証プロンプト | ターミナルが管理します | 表示される個別のローカルウィンドウで処理します |
| リモートでの変更の成否が不確かな場合 | 通信の切断からオペレーターが判断する必要があります | 結果が不明であることを明示し、自動再試行は行いません |
| MCP の再起動後に続行する | 新しい SSH コマンドが必要です | プロセスが稼働している間は、オプションのブローカータスクを使って再検出できます |
ServerOps は SSH に取って代わるものではありません。OpenSSH を使用し、単発のコマンドを繰り返すと脆弱になったりレビューが難しくなったりする AI 主導の操作に、状態を保持する構造化された境界を追加します。
アーキテクチャ
flowchart LR
C["Codex plugin"] --> M["Shared ServerOps MCP core"]
A["Claude Code plugin"] --> M
M --> B["Local per-user broker"]
B --> W["One worker per live session"]
W --> S["Windows OpenSSH"]
S --> L["Configured Linux server<br/>Bash + common utilities"]
W -. "visible local prompts" .-> U["Operator"]
M --> F["Local profiles + redacted audit"]
MCP プロセスは 8 つのツールを公開します。ブローカーがセッションのルーティングを担当し、各ワーカーは SSH/Bash プロセスを 1 つだけ管理します。ServerOps のコンポーネントはリモートにインストールされません。アーキテクチャとブローカーのライフサイクルを参照してください。
要件と正直な制限事項
- 現行リリースでは、Windows 10 または 11、Python 3.12、
uv/uvx、Windows OpenSSH Client が必要です。 - Bash を利用できる SSH 接続可能な Linux アカウントが必要です。構造化ファイル操作には、リモート構造化ファイルに記載されている一般的なユーティリティが必要です。
- ServerOps はアルファ版ソフトウェアです。使い捨て可能なアカウント、または非本番環境のアカウントと、権限を絞った Linux 環境から利用を開始してください。
- 状態の保持はプロセスの稼働中に限られます。永続ジョブ、再起動後の再開、ブローカーのクラッシュ後のワーカーの再取得には対応していません。
- 構造化ファイル操作は、サイズ制限のある UTF-8 テキストの操作です。バイナリ転送、再開可能な転送、トランザクション対応のファイルシステムではありません。
allowed_rootsの制約が適用されるのは、構造化ファイル用ツールのみです。シェルコマンドには、SSH ユーザーの実際の権限が適用されます。- ServerOps は「必ず 1 回だけ実行される」ことを保証しません。コマンドの配信後にタイムアウトや接続切断が発生すると、処理の結果が不明になる場合があり、読み取り専用の確認が必要です。
- 現時点で第一級のクライアントとして対応しているのは Codex と Claude Code です。Claude Desktop、Cherry Studio、その他のデスクトップクライアントの導入手順は計画中であり、まだ提供されていません。
- 現時点では
ServerOpsSetup.exeはありません。公開リリースの利用には Python 3.12 とuvxが必要です。
機能の提供状況
| 機能 | 状況 | 境界 |
|---|---|---|
| プロファイル、完了済みコマンド、対話型ターミナル | 利用可能 | 8 ツールの MCP コア |
| ブローカーが管理する状態保持セッション | 利用可能 | ブローカー、ワーカー、Bash が稼働している間 |
| MCP 再起動後の再検出 | 利用可能 | 信頼性の確保にはオプションの管理対象ブローカータスクが必要 |
| UTF-8 テキストの構造化ファイル | 利用可能 | 設定済みのルート、データサイズの制限、オプションの SHA-256 事前条件 |
| 表示される認証、ガイド付き sudo、ローカル監査 | 利用可能 | ローカルの信頼レイヤー。Linux のポリシーが引き続き優先されます |
| Codex プラグイン | 0.1.1 で利用可能 | 0.1.1 のみを指定したランタイム固定 |
| Claude Code プラグイン | 0.1.1 で利用可能 | 0.1.1 のみを指定したランタイム固定 |
| ローカルの自動ブートストラップ | 0.1.1 で利用可能 | セットアップの前提条件なし。独自の状態のみを対象 |
ServerOpsSetup.exe と自己完結型の Windows ランタイム | 0.1.2 で提供予定 | 提供後は Python/uv の事前要件が不要 |
| 永続ジョブ、レシート、イベントログ、ログ、再開可能な転送 | 0.2 で提供予定 | コマンドのラッパーではなく、永続化された操作状態 |
| 永続的な調査とインシデントのタイムライン | 0.3 で提供予定 | 操作ストアを基盤として構築 |
| トランザクション対応の変更とフリートへのロールアウト | 0.4 で提供予定 | 事前条件、検証、補償に対応。「必ず 1 回だけ実行される」ことは保証しません |
| バックアップの保証とネイティブのデータベースアダプター | 0.5 で提供予定 | シェルのプロンプトでは不十分な場合に限ります |
機械可読な機能コントラクトにより、この表、エビデンスのパス、ツール名、マーケットプレイスの ID、公開バージョンの固定値をテスト可能な状態に保っています。
ロードマップ
- 0.1.1A: Claude Code、中立的なブランディング、ローカル環境の自動ブートストラップ、プロジェクトの基盤。
- 0.1.1B: エビデンスに基づく製品紹介と再現可能なデモ。
- 0.1.1C: バージョン指定の同期、クリーンなマシンでのコールドスタート、ライフサイクルのリグレッション、 コミットに紐づいたリリースエビデンス、公開に向けた強化。
- 0.1.2: 自己完結型の Windows パッケージ、グラフィカルなオンボーディング、明示的に確認したうえでの デスクトップクライアント統合。
- 0.2–0.5: 堅牢な運用、調査、フリートに安全な変更、バックアップの保証、対象を絞った ネイティブアダプター。
フェーズの定義については、ROADMAP.md をご覧ください。計画中の項目は、利用可能な機能ではありません。
ドキュメントとプロジェクト
- 利用開始ガイドと再現可能なデモ
- インストール、更新、Doctor、アンインストール
- プロファイル、ツール、 トラブルシューティング
- 認証、権限昇格、 構造化ファイル、セキュリティモデル
- アーキテクチャ、ADR、 リリースエビデンス
- 0.1.1 リリースノート、 移行とロールバック、 リリースチェックリスト
- 変更履歴、アーティファクト計画、 コントリビューションガイド
サポートについては、認証情報、秘密鍵、お客様のホスト名、または本番環境の出力を含めずに GitHub issue を作成してください。脆弱性は SECURITY.md から報告してください。ServerOps はMIT Licenseのもとで利用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。