最近、CLIコーディングエージェントが大きな注目を集めています。
CLIコーディングエージェントは、ローカルのターミナル上で動作し、シェル操作を自律的に実行する新しいAIツールです。Git、SSH、WP-CLIなど既存のコマンドライン環境を利用して、ファイル構造の確認、コマンドの実行、出力結果の確認、問題の修正までを繰り返しながら、自律的に作業を進めます。
今回は、CLIコーディングエージェントの概要から、その仕組みである「エージェントループ」、さらにWP-CLIを使ってリモートのWordPress環境を安全に管理できるよう、ローカル環境にCLIエージェントをセットアップする方法までご紹介します。
CLIエージェントを活用して、WordPressのワークフローをさらに効率化していきましょう。
コマンドラインを活用するCLIコーディングエージェント
MCPを利用した連携と同様に、CLIエージェントも大規模言語モデル(LLM)を実際の開発環境と連携させる新しい手法です。ただし、どちらもAIによる推論とコード生成を実際の開発作業につなげることを目的としているものの、CLIコーディングエージェントとMCP連携は技術的には異なる仕組みであり、技術スタックの異なるレイヤーで動作します。
Model Context Protocol(MCP)では、あらかじめ定義されたクライアント・サーバーインターフェースを通じて、LLMが外部のツールやデータソースと連携します。一方、CLIコーディングエージェントは、シェル操作を自律的に行うAIツールです。ローカルのターミナルシェル上で動作し、システムユーティリティやファイル管理ツールのほか、git、ssh、wp-cliなどのCLIを直接操作できます。

CLIエージェントの例としては、Claude Code、Antigravity CLI、Cursor CLI、Aiderなどが挙げられます。
CLIコーディングエージェントのメリット、デメリット、活用例
どのツールが技術面や運用面のニーズに適しているかだけで考えるのではなく、それぞれの手法を導入することでどのようなメリットが得られるのか、またはワークフローの段階に応じて両方をどのように活用できるのかを考えることが重要です。
CLIコーディングエージェントの5つのメリット
前述のとおり、CLIエージェントはMCP連携とはワークフローの異なるレイヤーで動作するため、メリットとデメリットも異なります。
ここでは、CLIエージェントを開発に活用する5つのメリットをご紹介します。
1. さまざまなツールをすぐに利用できる
CLIエージェントは、環境内で利用可能なコマンドラインツールをすぐに使用できます。Git、WP-CLI、SSH、Docker、npmをはじめ、システムユーティリティやクラウド関連のツールにも対応できます。
2. 自律的な判断と意思決定
CLIエージェントは、あらかじめ決められたワークフローに従うだけではありません。実行するコマンドや使用するツール、コンテキストに取り込む情報を自ら選択し、次に行う作業を判断できます。
3. 実行結果に応じた柔軟な対応
CLIエージェントは、操作の実行結果を分析し、それに応じて次に行う作業を判断します。当初の方針が適さなくなった場合には、別の方法に切り替えることもできます。そのため、手順が一定でない問題や、予測が難しい問題への対応に特に適しています。
4. 柔軟性
シェルコマンドやツールを状況に応じて組み合わせることができるため、すべてのワークフローを事前に設計しなくても、複雑な操作を実行できます。
5. 環境への直接アクセス
CLIエージェントは、ローカルコンピュータのファイルシステム、コードリポジトリ、コンテナ、リモートインフラなど、問題が発生している環境を直接操作できます。そのため、デバッグやトラブルシューティング、サーバー管理、ソフトウェア開発、WordPressの運用などに特に有用です。
CLIコーディングエージェントの5つのデメリット
CLIエージェントは強力な自動化ツールですが、いくつかの制約もあります。自律的に操作を実行できるからこそ、慎重な運用と厳格なガードレールが必要です。
ここでは、CLIエージェントの5つのデメリットをご紹介します。
1. 運用上のリスクが高い
シェルを直接操作できるCLIエージェントに十分なガードレールが設定されていない場合、誤ったコマンドや破壊的なコマンドを実行する可能性があります。そのため、機密性の高い操作やリスクを伴う操作については、実行前に人間が承認または却下するヒューマンインザループ(HITL)の仕組みが必要です。
2. インターフェースが構造化されていない
APIとは異なり、コマンドシェルにはどの操作が安全で適切かをモデルに伝える仕組みがありません。そのため、CLIエージェントを効果的に活用するには、ターミナル操作に関する十分な知識と経験が求められます。コマンドラインに慣れたユーザーには便利な一方、技術的な知識が少ない場合には導入のハードルになります。
3. 出力の解釈が安定しない
CLIエージェントは、プレーンテキストやスタックトレースなど、ツールごとに異なる形式の出力を解釈します。出力形式が統一されていないため、内容を誤って解釈したり、実行エラーにつながったりする可能性があります。
4. 実行環境に依存する
PATH、権限、環境変数、インストールされているツールなどが環境によって異なるため、同じワークフローを別の環境でそのまま実行できない場合があります。
5. アクセス制御が複雑
CLIエージェントが実行できる操作とできない操作を細かく制限するには、厳格なサンドボックス化、OSレベルでの権限管理、安全性を確保するためのポリシー設定が必要です。
ワークフローの各段階で使い分けられる補完的なツール
ここまで見てきたように、MCP連携とCLIコーディングエージェントはそれぞれ異なる用途に適しており、開発や運用のワークフローの段階に応じて併用することができます。
MCPは、MCPサーバーが提供するデータやツール、外部サービスにアクセスするための、本番環境にも適したAPIの橋渡し役と考えることができます。標準化された仕組みを利用するため実行環境に左右されにくく、エラーが発生するリスクも抑えられます。

一方、CLIエージェントは、ターミナル上で開発者を支援するツールとして活躍します。特に、開発やデバッグ、複雑なサーバーメンテナンスなど、スピードや状況に応じた判断、柔軟な操作が求められる場面に適しています。エラーログの調査、SSH経由でのリモートWP-CLIコマンドの実行、その場でのコードのリファクタリングなどを効率よく行えます。
両者を組み合わせることで、開発、運用、トラブルシューティングではCLIエージェントの柔軟性を活かしながら、安定稼働が求められるSaaS製品や本番環境にAIを組み込む際には、MCPのより安全性の高い仕組みを活用できます。

CLIエージェントの仕組み─エージェントループ
CLIエージェントは、1回の処理だけでタスクを完了するのではなく、エージェントループと呼ばれる5段階の反復プロセスを通じて動作します。具体的には、「観察(Observe)」「推論(Reason)」「計画(Plan)」「実行(Act)」「評価(Evaluate)」の5つのステップです。

- フェーズ1─観察(Observe):エージェントは実行環境を確認して必要なコンテキストを収集します。コードの構造を把握し、
wp-cli.yml、AGENTS.md、package.jsonなどの設定ファイルを読み込むほか、ターミナルの出力やログなどの情報も収集します。 - フェーズ2─推論(Reason):収集したコンテキストをもとに、次に取るべき最適な行動を判断します。使用するツールや実行するコマンド(たとえば、最初に
wp plugin listを実行するかどうか)を決めるとともに、操作に伴うリスクも評価し、セキュリティ上必要な場合には人間に承認を求めます。 - フェーズ3─計画(Plan):「致命的なエラーを引き起こしているプラグインを特定して無効化する」といった複数の手順を伴うタスクでは、実行前にユーザーの依頼を一連の小さなタスクに分解し、実行する順序を決めます。
- フェーズ4─実行(Act):計画に沿って、生成したコマンドをターミナルシェルで実行したり、リポジトリ内のファイルやSSH経由でアクセスしたファイルを直接変更したりします。
- フェーズ5─評価(Evaluate):最後に、コマンドの終了コードを確認し、
stdoutとstderrの両方を分析します。コマンドが成功した場合は、目的を達成できたかを確認し、必要に応じて次のタスクへ進みます。失敗した場合は、エラーを取得して原因を特定したうえで「推論」に戻り、方針を修正して再試行します。このサイクルを繰り返すことで、自律的に問題の解決を試みます。
このような反復処理により、CLIエージェントはコマンドを実行するたびに人間が指示を出さなくても、WordPress環境の問題を診断したり、テーマファイルの構文エラーを修正したり、複雑なデータベースメンテナンスを実行したりすることができます。
ローカルのCLIエージェントからリモートのWordPressを操作する
ここまで読んで、実際に自分のサイトでCLIエージェントを試してみたくなった方も多いはずです。
MCP連携とは異なり、リモート環境にAIプラグインをインストールしたり、サーバー側で特別な設定を行ったりする必要はありません。代わりに、標準的なコマンドラインツールを使用して、ローカル環境とリモート環境を安全に接続します。
CLIエージェントを使用するには、以下の環境が必要です。
- ローカル環境にWP-CLIがインストールされている
- リモート環境にSSHで接続できる
- リモートサーバーでWP-CLIが利用できる

以下の手順に従ってください。
1. ローカル環境を準備する
リモート接続を設定する前に、以下のコマンドを実行してローカル環境を確認します。
php --version
wp --version
wp --info
WP-CLIがインストール済みでバージョンが古い場合は、最新版に更新します。
wp cli check-update
wp cli update
WP-CLIをまだインストールしていない場合は、最新のWP-CLI Pharファイルをダウンロードして実行権限を付与し、システムのPATHに移動します(macOS/Linux)。
# Download the official WP-CLI Phar archive from GitHub
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
# Verify that the Phar build works by checking environment info
php wp-cli.phar --info
# Make the Phar file executable
chmod x wp-cli.phar
# Move the binary to a global PATH directory and rename it to 'wp'
sudo mv wp-cli.phar /usr/local/bin/wp
続いて、正常にインストールされていることを確認します。
wp --info
2. パスワードなしのSSH接続を設定する
WP-CLIをローカル環境にインストールしたら、グローバルパラメータ--sshを使用して、リモートサーバーでwpコマンドを実行できます。たとえば、サイトにインストールされている無効なプラグインの一覧は、以下のコマンドで取得できます。
wp plugin list --status=inactive --ssh=user@server_ip:port/path/to/your/site
パスワードを入力すると、サイトにインストールされているプラグインが表形式で表示されます。
--sshを使用して接続情報をその都度指定すれば、リモートサーバーで任意のWP-CLIコマンドを実行できます。しかし、毎回接続情報を入力するのは手間がかかるうえ、エージェントループもそのたびに中断されてしまいます。
これを避けるには、専用のSSHキーペアを作成し、ローカルのOpenSSH設定ファイルにサーバーの接続情報を登録します。
ステップ 1. 専用のSSHキーペアを生成する
まず、ローカルの.sshディレクトリに既存のSSHキーがないか確認します。
ls -al ~/.ssh
WordPressサイトのメンテナンス専用のキーがない場合は、以下のコマンドを実行してED25519形式のキーペアを生成します。
ssh-keygen -t ed25519 -C "wp-cli-production" -f ~/.ssh/id_ed25519_wp_production
パスフレーズの入力を求められますが、設定せず空欄のまま進めることもできます。
上記のコマンドを実行すると、秘密鍵(id_ed25519_wp_production)と、リモートサーバーに登録する公開鍵(id_ed25519_wp_production.pub)が生成されます。秘密鍵は第三者と共有しないでください。
次に、ローカルのSSHエージェントを起動し、秘密鍵を登録します。
# macOS / Linux
eval "$(ssh-agent -s)"
# On Linux (and macOS if you generated the key WITHOUT a passphrase)
ssh-add ~/.ssh/id_ed25519_wp_production
# On macOS, if you generated the key WITH a passphrase and want to store it in Keychain
ssh-add --apple-use-keychain ~/.ssh/id_ed25519_wp_production
SSHエージェントに秘密鍵が正しく登録されていることを確認します。
ssh-add -l
正しく設定されていれば、フィンガープリントとキーのコメントが表示されます。
256 SHA256:... wp-cli-production (ED25519)
続いて、保存されているSSH公開鍵を表示します。
# macOS / Linux: Display the public key string to copy
cat ~/.ssh/id_ed25519_wp_production.pub
表示された公開鍵をコピーし、リモートサーバーの~/.ssh/authorized_keysファイルに追加します。
# macOS / Linux: Automatically upload and append your public key to the remote server
ssh-copy-id -i ~/.ssh/id_ed25519_wp_production.pub user@server_ip -p port_number
ステップ 2. SSH設定ファイルにホストを登録する
接続するたびにIPアドレス、ポート番号、ユーザー名、キーファイルのパスを入力する手間を省くため、~/.ssh/configファイルに接続情報を登録します。
以下のコマンドでファイルを開きます。ファイルが存在しない場合は新しく作成されます。
nano ~/.ssh/config
nanoエディターで、接続情報と秘密鍵を紐付ける以下のホスト設定を追加します。
Host production
HostName <server-ip-or-domain>
User <ssh-username>
Port <port-number>
IdentityFile ~/.ssh/id_ed25519_wp_production
IdentitiesOnly yes
AddKeysToAgent yes
UseKeychain yes
Ctrl + O、Enter、Ctrl + Xの順に押して保存し、nanoを終了します。
これで、以下のシンプルなコマンドだけでサーバーにSSH接続できるようになります。
ssh production

3. WP-CLIのエイリアスを登録する
WP-CLIのエイリアスを使用すると、@production、@staging、@developmentなどの短い名前で、ローカルまたはリモートのWordPress環境を指定できます。wpコマンドやAIへのプロンプトにパスを毎回入力する必要がなくなります。
以下のコマンドで、グローバルのWP-CLI設定ファイルを作成または編集します。
mkdir -p ~/.wp-cli && nano ~/.wp-cli/config.yml
SSHのホストエイリアスに、リモートのWordPressルートディレクトリの絶対パスを紐付けます。
@production:
ssh: production/path/to/your/site
エイリアスが正しく機能することを確認します。
wp @production plugin list
正常に接続できれば、リモートサイトのプラグイン一覧がローカルのターミナルに表示されます。
これで、ローカルのCLIエージェントに接続する準備は完了です。
4. CLIコーディングエージェントをインストールして認証する
ローカルのWP-CLI環境から、パスワードなしのSSH接続を使用してリモートサイトを操作できるようになったら、次はCLIクライアントをインストールして設定します。ここからは、特に広く利用されている2つのツール、Claude CodeとAntigravity CLIを取り上げ、それぞれの機能や料金体系をご紹介します。
Claude Codeのインストール
Claude Codeは、Anthropicが提供するエージェント型CLIツールです。公式ドキュメントでは、「コードベースを読み取り、ファイルを編集し、コマンドを実行して、開発ツールと連携する」ツールと説明されています。
まず、Claude Code CLIをグローバルにインストールします(macOSおよびLinux)。
curl -fsSL https://claude.ai/install.sh | bash
Windowsを使用している場合は、公式のインストールガイドでWindows向けの手順を確認してください。
インストールが完了したら、プロジェクトのディレクトリに移動してClaude Codeを起動します。
cd /path/to/your/project
claude
Claude Codeを起動すると、アカウントへのログイン、またはAnthropic APIキーによる認証を求められます(利用可能なプランについては公式サイトをご覧ください)。
使用量に応じて料金が発生するAPIキーで認証する場合は、Claude Consoleの「API Keys」に移動し、「Create Key」をクリックします。
生成されたキーをコピーして、安全な場所に保管してください。キーはsk-ant-...で始まる文字列です。
APIキーを取得したら、シェルの設定ファイル(~/.zshrc)に保存しておくことで、Claudeを使用するたびに入力する手間を省けます。
echo 'export ANTHROPIC_API_KEY="sk-ant-api03-your-api-key..."' >> ~/.zshrc
source ~/.zshrc
また、以下のコマンドを使用して、現在のターミナルセッションでのみAPIキーを設定することもできます。
export ANTHROPIC_API_KEY="sk-ant-api03-your-api-key..."
認証が完了したら、claudeを実行してClaude Codeを起動できます。

これで、WP-CLIのエイリアスを使い、ターミナルから自然言語でClaude Codeに指示を出せるようになります。
check the status of the plugins on @production

Antigravity CLIのインストール
Antigravity CLIは、Googleが提供するCLIコーディングエージェントです。Gemini CLIの後継として開発された新しいエージェント型ツールで、Claude Codeなどの既存ツールに代わる選択肢の一つです。
Claude Codeと同様、Antigravity CLIにも複数のインストール方法があります。macOSおよびLinuxでグローバルにインストールする場合は、curlを使用する方法が推奨されています。
curl -fsSL https://antigravity.google/cli/install.sh | bash
その他のOSや独自の環境で使用する場合は、Google Antigravityのインストールガイドをご覧ください。
インストールが完了したら、プロジェクトの作業ディレクトリに移動し、起動コマンドを実行します。
cd /path/to/your/project
agy

Antigravity CLIを起動すると、認証のためにデフォルトのブラウザが自動的に開きます。表示されたコードをコピーしてターミナルに貼り付け、Enterキーを押します。ログインが完了すると、ターミナル環境からAntigravityのエージェント機能を利用できるようになります。

Google AI Studioで取得したGemini APIキーを使用する場合は、シェルの設定ファイル(~/.zshrcまたは~/.bashrc)にキーを保存できます。
echo 'export GEMINI_API_KEY="your-gemini-api-key..."' >> ~/.zshrc
source ~/.zshrc
認証の設定が完了したら、以下のコマンドを実行するだけでエージェントを起動できます。
agy

Antigravity CLIは実行環境を確認し、プロジェクトのコンテキストを読み込みます。wp-cli.ymlやAGENTS.mdがある場合は、その内容も参照してプロンプトの入力を待ちます。これで、リモート環境のメンテナンスを任せたり、以下のような複雑なタスクを指示したりできます。
Audit active plugins on @production and list any inactive themes that can be safely removed
指示を受けると、エージェントが内容を判断し、必要なコマンドを順に実行します。

続いて、有効なプラグインの監査結果が表示されます。

最後に、無効なテーマの監査結果と削除候補が表示され、削除に使用できるコマンドもいくつか提示されます。

Claude CodeとAntigravity CLIを比較─WordPressのセキュリティ監査で検証
実際の利用場面で両CLIエージェントの結果にどのような違いが出るのかを確認するため、WordPressのセキュリティ監査を使って比較しました。今回は、両者に与えるプロンプトを意図的にシンプルなものにしています。より具体的で構造化されたプロンプトを使用すれば、両エージェントが参照できるコンテキストが増え、より精度の高い結果が得られる可能性があります。
Antigravity CLIとClaude Codeの両方に使用したプロンプトは、以下のとおりです。
SSH経由でリモートのWordPressサイトに接続し、WP-CLIを使用してサイトの状態を確認してください。WordPressが正しくインストールされていることを確認し、有効なプラグインを一覧表示して、サイトの設定を簡単に確認してください。
WordPressの管理者ユーザー、ユーザー登録の公開設定、HTTPS関連のURL、デバッグモード、ファイル編集の設定、cronイベント、データベースのサイズ、可能であれば自動読み込みされるオプションのサイズも確認してください。
セキュリティ上のリスク、メンテナンス上の問題、利用可能なアップデート、不審な点、推奨される次の対応をまとめてください。
必要に応じて、@productionエイリアスまたは適切なリモートサイトのパスを使用してください。

最初の推論と実行のフェーズでは、どちらのツールもコマンドを実行する前に何度かユーザーに許可を求めました。その後、それぞれ監査結果が出力されましたが、レポートの構成や表示形式には違いが見られました。
Antigravity CLIは、実行した確認項目がわかりやすく整理されたレポートを生成しました。
- サイトの状態とWordPress本体のインストール
- ユーザーアカウントと管理者の確認
- プラグインとテーマの確認
- 設定とセキュリティ関連の定数
- cronイベントとデータベースの状態
- リスク、検出事項、推奨事項のまとめ
- 推奨される次の対応
一方、Claude Codeは分析結果を4つのセクションに分けて提示しました。中でも詳細なセキュリティ監査では、Antigravity CLIでは検出されなかった脆弱性も指摘されています。
- サイトの状態
- セキュリティ監査
- メンテナンスと設定
- 推奨される次の対応
それでは、両者の結果を比較してみましょう。
1. サイトの状態
どちらのエージェントもWordPressのインストール情報を正しく特定しましたが、画面上での表示方法には大きな違いがあります。
Claude Codeの「サイトの状態(Site status)」セクション」は非常に簡潔で、プラグインの情報とまとめて表示されます。また、サイトにインストールされているテーマについての情報はありません。

一方、Claude Codeのレポートには「重大(Critical)」セクションもあり、サイトのルートディレクトリに残されたテストファイルでキーが露出していることによる、2つの重大なセキュリティ脆弱性が指摘されました。また、問題の詳細とともに、該当するファイルを削除するよう推奨しています。

「Site Status」については、Antigravity CLIのほうがより多くの情報を見やすい表形式で提示しています。ただし、Claude Codeが検出したキーの露出については何も指摘されていません。

2. ユーザーアカウントとセキュリティ監査
このセクションでも、両エージェントのアプローチには違いが見られます。
Antigravity CLIでは、権限グループを含むユーザー情報が見やすい表形式でまとめられています。

セキュリティ上のリスクについては後のセクションで取り上げられており、定数、管理者ユーザー、HTTPS URLの未設定など、複数の問題が指摘されています。

一方、Claude Codeはセキュリティをより重視した分析を行っています。ユーザー情報の表は必要最低限にとどまりますが、さらにアプリケーションパスワードの一覧も表示し、それぞれがどのユーザーに紐付いているかまで示しています。

さらにClaude Codeでは、HTTPSの強制が設定されていないこと、ユーザー列挙、デバッグモード、ファイル編集に関連するリスクについても詳しく分析し、それぞれに対する対策を提示しています。
3. プラグインとテーマ
Antigravity CLIでは、プラグインとテーマの情報が専用のセクションにまとめられています。

Claude Codeでは、プラグインの情報は「Site status」(セクション1)に含まれていますが、インストールされているテーマについての情報はありません。
4. 設定、セキュリティ関連の定数、メンテナンス、データベースの状態
このセクションでは、2つのCLIエージェントの違いが最も顕著に表れています。
Antigravity CLIでは、セクション4に検出された定数が詳しい表形式でまとめられており、「セキュリティ評価(Security Assessment)」列には、それぞれの基本的なセキュリティ情報が表示されています。

セクション5では、cronの状態とデータベースの健全性について簡潔にまとめられています。

一方、Claude Codeの「メンテナンスと設定(Maintenance & configuration)」セクションは非常に詳細で、Antigravity CLIとの違いが際立っています。cronの状態に加え、サイト上に存在しなくなったフック、自動読み込みされるオプションなどについても詳しく分析しています。

5. 推奨される次の対応
どちらのエージェントも、検出された問題を解消するための「推奨事項と次の対応(Recommendations and next steps)」でレポートを締めくくっています。
Antigravity CLIでは、wp-config.phpの定数のセキュリティ強化、サイト全体でのHTTPSの強制、不要になったcronイベントの削除、未使用のテーマや無効なプラグインの削除、管理者ユーザーの名前変更または置き換えなど、具体的な対応方法と実行用のコマンドが提示されています。

Claude Codeでは、リスクの深刻度順に整理された推奨事項が提示されます。さらに、露出しているキーの削除や問題の修正をエージェントに自動で実行させるかどうかをユーザーに確認します。

まとめと今後の活用方法
ここまで見てきたように、どちらか一方が明確に優れているというわけではありません。今回取り上げた2つのCLIエージェントはいずれも強力な管理・開発ツールですが、それぞれ異なる強みがあります。
Claude Codeは、セキュリティを重視したアプローチに加え、確認項目の多さや分析の詳しさが印象的でした。
一方、Antigravity CLIは、レポートが見やすく、すぐに実行できるWP-CLIコマンドとともに具体的な対応方法を提示してくれる点が特徴です(もちろん、自然言語で指示してエージェントにコマンドを実行させることもできます)。
最終的には、エージェントをどれだけ活用できるかは使い方次第です。適切なシステム指示を設定し、明確で具体的なプロンプトを与えることで、より精度の高い結果を引き出せるようになります。
自動化を重視するなら、Kinstaにはターミナルからサーバーやサイトを効率的に管理するための環境が揃っています。強力なREST API、SSH接続、WP-CLIは、プランを問わずすべてのお客様にご利用いただけます。
Kinstaでは、初月無料プランもご用意しています。ご興味がありましたら、ぜひ各種料金プランをご覧ください。