CLI Is All You Need

よく聞かれる。「Claude Code は明らかに他の AI コーディングツールより優れているが、うまく説明できない」。以下の Marco Franzon 氏のブログ記事が、その理由を的確に説明している。 Claude Code と最近話題の OpenClaw に共通する根本的な特徴は、どちらも大規模言語モデルの能力をシステムのターミナルコマンドラインに直接接続している点にある。これがまさに、AI が「提案をくれる」以上のことができ -- プロジェクトディレクトリに入って実際に作業できる理由だ。検索、修正、実行、テスト、コミット、デバッグをこなし、きっちりとした自動化された開発ループを形成する。 多くの人はターミナルを「古い入力方法」と考えているが、実際にはその逆だ。世界で最も重要な情報システムはすべてコマンドラインで動いている。銀行の取引処理、航空会社の予約・スケジューリング、物流の仕分け・追跡、政府・公共機関のコア業務プロセス。コマンドラインがこれほど長く「ユニバーサルインターフェース」であり続けたのは、十分に安定し、十分に汎用的で、十分に組み合わせ可能で、十分に自動化しやすいからだ。 LLM は膨大な量のコマンドラインデータで学習しており、驚くほどの精度でコマンドラインを操作できる。強力な LLM とコマンドラインの柔軟性が出会ったとき、人類がかつて目にしたことのない組み合わせが生まれる。
MCP の熱狂は終わった。
過去2年間、AI エージェントのツーリングの未来として広く見られてきた MCP(Model Context Protocol)だが、実運用では煩雑すぎることが証明された。2026年、スピードと効率を重視する開発者はコマンドラインターミナルに戻りつつある。
AI の LLM に Shell への直接アクセスを与え、エージェントが何十年も実績のあるツール -- git、rg、grep、npm、docker、curl、jq、tail など -- を呼び出せるようにする。カスタムサーバーや、コンテキストウィンドウを圧迫する巨大なスキーマ定義は不要になる。
強力な AI モデルと Bash または Zsh があれば十分で、Deep Code などの AI アシストコーディングツールは驚くべき成果を生み出す。
MCP が日常開発で人気を失った理由
典型的な開発ワークフローにおいて、MCP はしばしば 摩擦を減らすどころか増やしている。いくつかの理由がある。
- トークンのオーバーヘッド: 長大なツールカタログとスキーマ定義が、貴重なコンテキスト空間を消費する。
- 車輪の再発明: カスタム MCP サーバーが、標準 CLI ツールがすでに安定して処理している機能を頻繁に重複実装している。
- 結合性の低さ: Unix が数十年前に完成させたパイプ、チェーン、即興的な変更の能力を失う。
- モデルとの相性: 主要な LLM は Shell の使用に関して膨大な訓練を積んでおり、パラメータ、パイプ、エラーメッセージ、ドキュメントを驚くほどの精度で理解する。
ベストプラクティスはシンプルだ。Deep Code でプロジェクトディレクトリを開き、安全ガードレール内で Shell の実行権限を付与し、達成したいことをコマンドで指示する。Deep Code が自動的に計画し、コマンドを実行し、ファイルを編集し、テストを実行し、コードをコミットし、デバッグしてくれる。
MCP は、厳格な型安全性が求められる規制対応の企業環境や SaaS API 統合では引き続き価値がある。だが、日常的な作業の80〜90%にとっては、ただのノイズに過ぎない。
コマンドラインが MCP を凌駕する場面
日常的な開発の中で、MCP の限界を痛感する場面に頻繁に出くわす。
プロジェクト全体のコードリファクタリング
Deep Code は rg "oldDeprecatedFunction" のようなコマンドから始める。
変更の範囲をマッピングし、複数ファイルにまたがる精密な編集を行い、git diff でレビューし、npm test や cargo test を実行する。そしてコミットする:refactor: remove deprecated API calls
このような場面で、GitHub MCP サーバーは不要だ -- rg と git だけで十分だ。
本番バグのフルスタックデバッグ
Deep Code にこう指示する:Reproduce the user authentication failure in the staging environment.
Deep Code はコードを引き出し、ステージング環境を立ち上げ、ログエラーを監視する。curl で API を検証し、docker-compose でデータベースを起動し、特定のテストケースを実行する。
Docker MCP も不要。ログ MCP も不要。有能なシェルがあればいい。
新しいマイクロサービスのスキャフォールド
Deep Code にこう指示する:Build a Rust user profile API with Axum + sqlx. Use Postgres for the database.
Deep Code はマシンにインストール済みのツールチェーン(Rust の cargo など)を使ってプロジェクトを作成し、依存関係を追加し、サービスを起動する。
既存のツールチェーンで十分 -- データベース MCP は不要。
フラッキーな CI/CD の失敗を修正する
Deep Code はリポジトリをクローンする。 ローカルで act を使ってワークフローを実行する。 失敗箇所を特定する。 .github/workflows/ci.yml または Dockerfile を修正する。 docker build で検証する。 ブランチをプッシュする。 gh で PR を作成する。
すべて標準 CLI ツール。カスタム CI 統合レイヤーは不要。
開発者フィードバックの傾向
Deep Code のネイティブコマンドラインアプローチを採用しているチームから、以下の優位性が報告されている。
- 納品速度が大幅に向上。
- トークン消費がより予測しやすい。
- AI アシストツールの動作がより透明に。
- AI の操作の監視・デバッグが容易に。
要約すると、新しいコンセンサスは明確だ。統合の構築をやめよ。代わりに CLI ツールを作れ。Bash こそ究極の MCP なのだ。
ターミナルは常にユニバーサル開発環境だった
2026年、ターミナルは AI コーディングエージェントにとって最も強力なインターフェースでもある。特殊なエンタープライズツールを除き、重量級の MCP スタックは丸ごとスキップして構わない。
Deep Code でプロジェクトディレクトリを開き、Shell アクセスを許可し、タスクを指示し、その働きを見守るだけでいい。