MCP vs CLI ――AI エージェントに外部ツールを操作させるとき、どちらの接続方式を選ぶべきか。筆者は以前 MCP(Model Context Protocol) を積極的に使っていたが、現在は CLI を基本に、MCP は必要な場面でのみ使うスタイルに移行している。

📑目次
  1. MCP vs CLI とは — それぞれの仕組みと特徴【2026年版】
  2. MCP vs CLI コスト比較【トークン消費の衝撃的な差】
  3. MCP vs CLI 信頼性・パフォーマンス比較【2026年】
  4. MCP vs CLI セキュリティ比較
  5. 実例で比較 — MCP vs CLI どちらが有利か【GitHub・Docker・Slack・DB】
  6. 筆者の MCP → CLI 移行体験【実践レポート】
  7. MCP vs CLI 使い分けの判断基準【フローチャート】
  8. MCP vs CLI の業界動向【2026年最新】
  9. よくある質問 — MCP vs CLI の違いについて
  10. まとめ — MCP vs CLI は「CLI 優先、MCP は補完」が正解

移行の決め手は Scalekit が公開したベンチマークだ。CLI は MCP の 10〜32 倍安く、信頼性は 100% 対 72%。筆者自身も Docker MCP Toolkit・PostgreSQL・K8s・Google 系サービス・Obsidian・Playwright など大量の MCP を接続していた構成から CLI 中心に切り替えた結果、月 $100 の API 費用のうち約 $10、使っている MCP によっては $30〜$50 が MCP のスキーマ注入だけで消えていた分が $1 以下に激減し、コンテキスト圧縮による作業中断もほぼ解消した。この記事では、筆者の MCP → CLI 移行体験と客観データの両面から、MCP vs CLI の最適な使い分けを解説する。

MCP vs CLI サマリー比較表
指標 CLI MCP
トークンコスト 1x(基準) 10〜32x
信頼性 100% 72%
セットアップ 簡単(多くが既存) サーバー配備が必要
セキュリティ 手動管理 OAuth 2.1 標準
コンテキスト占有率 約 5% 40〜50%
最適な場面 開発ワークフロー エンタープライズ・マルチテナント

出典:Scalekit 公式ブログ(2026年、Claude Sonnet 4、75回実行)

MCP vs CLI とは — それぞれの仕組みと特徴【2026年版】

MCP(Model Context Protocol)の概要

MCP(Model Context Protocol)は、2024年11月に Anthropic が発表したオープンプロトコルだ。AI モデルが外部ツールやデータソースと通信するための標準化されたインターフェースを定義する。よく「AI 版の USB-C」と表現されるように、ツールごとにカスタム統合を開発する必要がなくなり、1つのプロトコルであらゆるサービスに接続できるのが最大のメリットだ。

アーキテクチャはクライアント-サーバー構成で、AI アプリケーション(MCP クライアント)が MCP サーバーを経由して外部サービスにアクセスする。各ツールの機能は JSON Schema で定義され、モデルはスキーマを読み取ってどのツールを呼ぶべきか、どんなパラメータが必要かを判断する。

2025年12月には Linux Foundation 傘下の Agentic AI Foundation(AAIF) に寄贈され、Anthropic、Block、OpenAI が共同設立。Google、Microsoft、AWS、Cloudflare も支援に加わり、単一企業のプロジェクトから業界標準へと進化した。2026年現在、Claude Code、Cursor、Windsurf、Zed、VS Code Copilot、Codex CLI、OpenClaw など主要ツールがほぼすべて MCP に対応している。MCP 対応エディタ同士の違いについては「Cursor vs Windsurf 徹底比較」で詳しく比較している。

MCP の主要マイルストーン
時期 出来事
2024年11月 Anthropic が MCP をオープンソースとして公開
2025年前半 OpenAI、Google、Microsoft が MCP サポートを表明
2025年後半 Linux Foundation AAIF へ寄贈、ガバナンス確立
2026年初頭 Docker MCP Catalog 登場、主要 SaaS がほぼ全て対応

出典:MCP 公式サイトAnthropic


CLI アプローチの概要

CLI アプローチとは、AI エージェントがシェル経由で既存のコマンドラインツールを直接実行する方式だ。gitgh(GitHub CLI)、dockerkubectlcurl など、開発者が日常的に使っているツールをそのまま活用する。MCP のような専用プロトコルを介さず、OS のシェルが「統合レイヤー」として機能する

# CLI アプローチの例:GitHub リポジトリの言語構成を調べる
gh api repos/owner/repo/languages
# MCP だと専用サーバー経由で同じ情報を取得
# → ツール定義のスキーマが毎回コンテキストに注入される

なぜ AI は CLI が得意なのか

筆者が MCP vs CLI を実際に使い分けて強く感じるのは、AI は CLI の方が圧倒的にうまく扱えるという点だ。Claude Code に CLI コマンドを実行させると、ほぼ一発で正しいコマンドを組み立てる。MCP は時々スキーマの読み込みミスやパラメータの型エラーが発生するのと対照的だ。

① 膨大な学習データ

GitHub・Stack Overflow・技術ブログに蓄積された何十億行ものコマンド実行例が、モデルの重みに埋め込まれている。gitgh の使い方をモデルは「知っている」。

② スキーマ注入が不要

MCP ではツール定義を毎回コンテキストウィンドウに注入する必要がある。CLI なら --help すら不要で、モデルが事前知識からコマンドを生成できる。

③ パイプラインの組み合わせ

Unix 哲学の「小さなツールを組み合わせる」がそのまま使える。gh pr list | jq '.[] | .title' のようなパイプラインで、MCP なら複数ツール呼び出しが必要な処理を1行で実現。

④ デバッグの容易さ

CLI の出力はそのまま人間が読める。エージェントが実行したコマンドをターミナルにコピー&ペーストすれば、同じ結果が再現される。MCP のデバッグは JSON-RPC のトレースが必要。

パイプラインの合成性は、実際に使うと想像以上に強力だ。筆者の実感では、AI は人間が理解や記述に時間がかかるような複雑なパイプコマンドを器用に組み立てる。gh pr list --json number,title,author | jq '.[] | select(.author.login=="myuser")' | head -5 のような絞り込みも一発で生成してくれる。仮に CLI の実行でエラーが出ても、AI は --help を確認したり、それでも解決しなければ Web 検索で調べて自己修正するため、CLI 操作で詰まることはほぼない。むしろリスクがあるのは CLI の失敗ではなく、AI が意図を誤解して別の作業を実行してしまう場面だ。この点は CLI でも MCP でも共通の課題であり、CLI 特有の弱点ではない。


MCP vs CLI コスト比較【トークン消費の衝撃的な差】

MCP vs CLI の比較で最もインパクトが大きいのがトークンコストだ。筆者が CLI に移行した最大の理由もこのコスト差にある。

Scalekit ベンチマーク結果

Scalekit が Claude Sonnet 4 を使用し、同一タスクを CLI と MCP でそれぞれ 75回 実行したベンチマーク結果は、業界に大きな衝撃を与えた。

Scalekit ベンチマーク:CLI vs MCP トークン消費量
タスク CLI トークン MCP トークン 倍率
「このリポジトリの言語構成は?」 1,365 44,026 32x
「最新のPRをリストせよ」 1,852 18,544 10x
「Issue #42 の詳細を取得」 1,580 35,200 22x

出典:Scalekit “MCP vs CLI: The Hidden Cost of AI Tool Integration”(2026年)

📊 注目データ ― 32倍のコスト差

最も差が出た「リポジトリの言語構成」タスクでは、CLI がわずか 1,365 トークンで完了したのに対し、MCP は 44,026 トークンを消費した。Claude Sonnet 4 の料金(入力 $3/100万トークン、出力 $15/100万トークン)で計算すると、1タスクあたり CLI は約 $0.004、MCP は約 $0.13。1日20タスク×20営業日で、月額 CLI 約 $1.6 に対し MCP 約 $52 ――50倍以上のコスト差になる。

筆者の体感もこの数値と一致する。MCP を大量に接続していた頃は、月 $100 の API 費用のうち約 $10、使っている MCP によっては $30〜$50 がスキーマ注入だけで消えていた計算だ。CLI に移行してからはこの分が $1 以下に収まっている。細かいセッションを積み重ねるほど影響が大きくなるため、日常的に AI エージェントを使い込む開発者ほどコスト差を実感するはずだ。

📊 別のベンチマーク ― Intune 管理タスクで35倍差

Scalekit 以外にも、Jannik Reinhard 氏が Microsoft Intune のコンプライアンスチェック(50デバイス)で MCP vs CLI を比較している。結果は MCP が約 145,000 トークンを消費したのに対し、CLI はわずか 4,150 トークン ―― 35倍の差だ。さらに、ブラウザ自動化タスクでも CLI の方がタスク完了スコアで 28% 高く、トークン効率スコアでも 33% 優れていた(202 vs 152)。

複数の独立したベンチマークが同じ方向の結論を示しており、CLI のコスト優位性は特定の条件下だけの話ではないことが分かる。

出典:Jannik Reinhard “Why CLI Tools Are Beating MCP for AI Agents”(2026年)

MCP vs CLI タスク別トークン消費量の比較棒グラフ — CLI は全タスクで MCP の10〜35倍安い
MCP vs CLI タスク別トークン消費量(出典:Scalekit、Jannik Reinhard 2026年)

なぜ MCP はトークンを大量消費するのか

MCP のトークン消費が大きい根本原因は、ツール定義のスキーマが毎回コンテキストウィンドウに注入される仕組みにある。

MCP スキーマ注入のコスト内訳
項目 詳細
1ツールあたりのスキーマサイズ 550〜1,400 トークン
GitHub MCP サーバーのツール数 93 ツール
GitHub MCP のスキーマ合計 約 55,000 トークン
コンテキスト占有率 ウィンドウの 40〜50%

出典:GitHub MCP Server(筆者調べ)

MCP vs CLI コンテキストウィンドウ占有率の比較 — CLI は5%、MCP 複数サーバーは70%をスキーマが占有
コンテキストウィンドウ占有率の比較(筆者調べ 2026年4月時点)

GitHub MCP サーバーを接続すると、93個のツール定義だけで約 55,000 トークン がコンテキストウィンドウに注入される。これはモデルのコンテキストウィンドウの 40〜50% に相当し、実際のタスク処理に使えるスペースが大幅に圧迫される。「リポジトリの言語を調べる」というシンプルなタスクでも、全93ツールのスキーマが注入されるのだ。

対照的に、CLI アプローチでは gh api repos/{owner}/{repo}/languages という1行のコマンドを生成するだけ。スキーマの注入は不要で、モデルの事前知識がスキーマの役割を果たす。


トークン削減の取り組み(2026年)

MCP のトークン消費問題に対して、複数のアプローチが試みられている。

Anthropic コード実行パターン

MCP ツール呼び出しをサーバーサイドのコード実行に置き換え、スキーマ注入を 98.7% 削減(150,000 → 2,000 トークン)。ただし MCP の標準仕様外のアプローチ。

Speakeasy Dynamic Toolsets

タスクに関連するツールだけを動的に選択してスキーマを注入。GitHub の93ツールから必要な3〜5ツールに絞り、96% 削減を実現。

Lazy Loading

初回はツール名と概要のみ注入し、モデルが選択したツールのフルスキーマを後から読み込む。Claude Code の ToolSearch がこのパターンを採用。

スキーマ圧縮

description の短縮やプロパティの省略で物理的にスキーマサイズを減らす。効果は限定的だが、他の手法と組み合わせやすい。

これらの取り組みは有望だが、いずれも仕様レベルでの解決ではなく、実装側の工夫に留まっている。MCP プロトコル自体が「全スキーマを注入する」前提で設計されている以上、根本的な解決には仕様の改訂が必要だ。

なお、Claude Code と Codex CLI の徹底比較記事でも解説しているが、CLI ベースのツールはこのコスト問題を最初から回避できる設計になっている。


筆者の MCP → CLI 移行でコストはどう変わったか

筆者は以前、Docker MCP Toolkit・PostgreSQL・K8s・Google 系サービス・Obsidian・Playwright など大量の MCP を同時に接続して作業していた。MCP vs CLI のコスト差を痛感したのは、Claude Max プラン($100/月)で長時間セッションを行うようになってからだ。

特に印象的だったのは、コンテキストウィンドウが 20k トークンまでしか対応していなかった時期の体験だ。MCP を複数接続した状態では、スキーマ注入だけで大部分が消費され、数ターンの会話で上限に到達することもあった。CLI に切り替えただけで追加で数ターン作業できるようになり、コンテキストの「空き」が目に見えて増えた。現在は 100k 以上のコンテキストに対応するモデルも増えたため以前ほど極端ではないが、複数ツールを同時接続する場合のスキーマ消費は依然として無視できない。

Obsidian の MCP でも検証したが、MCP サーバーを接続するだけで、使用していなくてもスキーマ分のトークンが常に消費されている。この「待機コスト」は MCP を複数入れるほど積み上がるため、月 $100 の API 費用のうち約 $10、使っている MCP によっては $30〜$50 が MCP のスキーマだけに消えていた計算だ。CLI 移行後は $1 以下に収まっている。


MCP vs CLI 信頼性・パフォーマンス比較【2026年】

トークンコストだけでなく、信頼性とパフォーマンスにも大きな差がある。Scalekit ベンチマークの25回実行テストでは、CLI の成功率 100% に対し、MCP は 25回中7回が ConnectTimeout で失敗し、成功率は 72% にとどまった。

MCP vs CLI 信頼性・パフォーマンス比較
指標 CLI MCP
タスク完了成功率 100%(25/25) 72%(18/25)
平均応答時間 2〜5秒 5〜15秒
主な失敗原因 ほぼなし ConnectTimeout(7/25回)
依存コンポーネント OS シェル + CLI ツール MCP サーバー + JSON-RPC + 外部API
リトライの複雑さ 低(コマンド再実行) 高(サーバー再接続が必要な場合あり)

出典:Scalekit 公式ブログ(2026年)

ただし、72% という数字の背景には注意が必要です。この信頼性低下の主因はリモート MCP サーバーへの接続タイムアウトです。ローカル MCP サーバー(stdio 接続)ではネットワーク起因の障害が発生しにくく、信頼性は大幅に向上します。実際、Zechner のベンチマークでは、ローカル環境で MCP と CLI の両方が 100% の成功率を記録しています。つまり、MCP の信頼性問題はプロトコル自体の欠陥ではなく、リモート接続に起因する部分が大きいということです。

CLI が高い信頼性を示す理由は明確だ。依存するコンポーネントが少ない。CLI は OS のシェルとローカルにインストールされたツールだけで動作する。一方、MCP は MCP サーバープロセス → JSON-RPC 通信 → 外部 API という多段構成のため、各レイヤーで障害が発生しうる。

筆者の体験でも、MCP サーバーの起動失敗やバージョン不整合でデバッグに時間を取られることがあった。CLI は which コマンド で存在確認するだけで済む。この「トラブルシューティングの手軽さ」は、日常の開発生産性に大きく影響する。

⚠️ MCP の信頼性に関する注意点

  • MCP サーバーがクラッシュすると、エージェントのセッション全体が影響を受ける
  • ネットワーク経由(Streamable HTTP トランスポート)の場合、レイテンシが増加する
  • 複数の MCP サーバーを同時接続すると、メモリ消費が増大する
  • 2026年現在、MCP サーバーの品質はベンダーによって大きくばらつく

他のベンチマーク結果との比較

Scalekit のベンチマークは業界に大きなインパクトを与えましたが、異なる条件でテストを行った結果も存在します。複数のデータを比較することで、より正確な全体像が見えてきます。

📊 Smithery.ai ベンチマーク ― 756回テストの結果

Smithery.ai が Claude Haiku 4.5 + Codex GPT-5.4 を使用し、756回のテストを実施したベンチマークでは、Scalekit とは異なる結果が出ています。

  • Native MCP: 成功率 91.7%、トークン使用量 1.0x(ベースライン)
  • 自動生成 CLI: 成功率 83.3%、トークン使用量 2.9倍、レイテンシ 2.4倍

この結果は一見すると MCP 有利に見えますが、重要な注意点があります。まず、Smithery は MCP プラットフォームの事業者であるため、バイアスの可能性を考慮する必要があります。また、テストで使用された「自動生成 CLI」と、ghaws clikubectl のような成熟した CLI では品質が大きく異なります。Scalekit のベンチマークでは成熟した gh CLI を使用しており、この差がそのまま結果の違いに表れています。

さらに、Zechner のベンチマークでは、ローカル環境において MCP と CLI の両方が 100% の成功率を記録しています。つまり、接続環境(ローカル vs リモート)と CLI の成熟度がベンチマーク結果を大きく左右するということです。

出典:Smithery.ai、Zechner ベンチマーク(2026年)


MCP vs CLI セキュリティ比較

セキュリティは MCP vs CLI の比較で MCP が明確に優位なフィールドだ。MCP は設計段階からエンタープライズグレードのセキュリティを組み込んでいる。

MCP のセキュリティ強み

OAuth 2.1 標準認証

MCP は OAuth 2.1 をファーストクラスでサポート(2025年3月仕様化、PKCE 必須)。トークンの発行・リフレッシュ・失効が標準化されており、各サービスごとに認証を実装する必要がない。

スコープ付き権限

ツールごとにアクセス権限を細かく設定できる。「Issue の読み取りのみ」「PR の作成は許可するがマージは禁止」といった粒度の制御が可能。

監査ログ

どのエージェントが、いつ、どのツールを、どんなパラメータで呼び出したかを記録。コンプライアンス要件を満たすトレーサビリティを確保。

トークンローテーション

アクセストークンの自動ローテーションにより、漏洩時のリスクを最小化。長期間有効な API キーを保持する必要がない。


CLI のセキュリティリスクと対策

⚠️ CLI アプローチの主なセキュリティリスク

  • 平文 API キー: .env ファイルや環境変数に平文で保存される API キーは、漏洩リスクが常に存在する → 対策: シークレットマネージャーの利用
  • アンビエント認証: gh auth login で取得したトークンはマシン全体で共有される → 対策: Claude Code の Permission 制御、サンドボックス
  • git commit への混入: .env ファイルが誤って git commit されるリスク → 対策: .gitignore、git-secrets
  • 権限の粒度不足: CLI ツールは「全権限」か「権限なし」の二択になりがち → 対策: 最小権限のトークンを発行
  • シェルインジェクション: エージェントが生成したコマンドに悪意あるプロンプトインジェクションが含まれる可能性 → 対策: Codex CLI のサンドボックス実行

セキュリティの判断基準

エンタープライズレベルのガバナンスが必要なら MCP 一択だ。OAuth 2.1、スコープ付き権限、監査ログは、組織的なセキュリティ要件を満たすために設計されている。一方、個人開発や信頼できるチーム内であれば、CLI のセキュリティリスクは適切な運用で十分にカバーできる。

筆者の運用では、個人開発は CLI + 環境変数で十分と判断している。チーム開発やクライアント向けプロダクトでは MCP の権限管理が安心だ。

🔐 認証方式の違い ― OAuth 2.1 vs 環境変数

MCP は OAuth 2.1 / PKCE フローによる認証委任が可能です。これにより、API キーをエージェントに直接渡す必要がなく、トークンのスコープ制限・自動ローテーション・失効管理が標準で組み込まれています。エージェントが持つ権限を最小限に絞れるため、万が一のトークン漏洩時のリスクも限定的です。

一方、CLI は通常、環境変数や設定ファイル(~/.config/gh/hosts.yml など)で認証情報を管理します。セットアップはシンプルですが、エージェントがファイルシステムを読み取れる環境では、これらの認証情報にアクセスされるリスクがあります。Claude Code のセキュリティ設定Descope が提唱する認証ベストプラクティスのように、サンドボックス実行やシークレットマネージャーとの併用で対策することが重要です。

出典:MCP 公式仕様Descope(2026年)


実例で比較 — MCP vs CLI どちらが有利か【GitHub・Docker・Slack・DB】

GitHub CLI vs GitHub MCP

GitHub の公式 MCP サーバーは 93個のツール を提供する。Issue 管理、PR 操作、リポジトリ設定、Actions、Packages など、GitHub API のほぼすべてをカバーする包括的なサーバーだ。しかし、この包括性がそのままコスト問題になる。

# CLI アプローチ:わずか1コマンドで完了(1,365トークン)
$ gh api repos/owner/repo/languages
{
"Python": 45230,
"JavaScript": 12500,
"TypeScript": 8900
}
# MCP アプローチ:93ツールのスキーマ注入後に実行(44,026トークン)
# → 32倍のコスト差

筆者の判断: 個人開発では gh CLI 一択。GitHub MCP は不要だ。ただし、GitHub MCP は Webhook やリポジトリ設定の自動化など、CLI にない機能もある点は留意すべきだ。


ツール別おすすめ早見表

MCP vs CLI ツール別おすすめ早見表
サービス CLI ツール MCP サーバー 筆者のおすすめ
GitHub gh(成熟) 93ツール CLI 優先
Docker docker(成熟) Docker MCP CLI 優先
Kubernetes kubectl(成熟) K8s MCP CLI 優先
AWS aws cli(成熟) AWS MCP CLI 優先
Slack CLI なし Slack MCP MCP 必須
Notion CLI なし Notion MCP MCP 必須
ブラウザ CLI なし Playwright MCP MCP 必須
データベース psql / mysql(成熟) DB MCP CLI 優先

筆者調べ(2026年3月時点)

ポイントは明確だ。成熟した CLI が存在するサービスでは CLI を優先し、CLI がないサービス(Slack、Notion、ブラウザ操作など)では MCP が唯一の選択肢になる。筆者の使い分けもまさにこのパターンだ。日常的な DB 操作は psql で CLI 実行し、複雑なスキーマ調査時のみ MCP を一時的に接続している。


筆者の MCP → CLI 移行体験【実践レポート】

MCP vs CLI の理論的な比較だけでなく、筆者が実際に MCP 中心の構成から CLI 中心に移行した体験を共有する。

移行前の構成(MCP 中心)

以前の筆者の構成は「使えるものは全部入れる」スタイルだった。Docker MCP Toolkit・PostgreSQL MCP・K8s MCP・Google 系サービス MCP・Obsidian MCP・Playwright MCP など、利用可能な MCP サーバーを手当たり次第に接続していた。統一的なインターフェースで何でも操作できるのは確かに魅力的だったが、代償は大きかった。

  • コンテキストウィンドウの大部分をスキーマが占有(各サーバーが数千〜数万トークンを常時消費)
  • 20k コンテキスト時代は数ターンで上限に到達することもあった
  • 長時間セッションでコンテキスト圧縮が頻発し、AI が直前の文脈を忘れる
  • MCP サーバーの起動失敗・バージョン不整合で作業が中断

移行後の構成(CLI 中心)

現在は MCP サーバーを基本的にすべて削除している。ghpsqldockerkubectl などは CLI をシェル経由で直接実行し、CLI がなくても API 経由で操作できるサービスについては、その使い方を Claude Code の Skills に記述して対応した。つまり「MCP の代わりに Skills + API」という構成だ。段階的に移行を進め、CLI 対応サービスが増えたことで現在は完全に移行できている。移行して「やっぱり MCP の方がよかった」と思う場面は特になかった。無駄なコンテキスト消費がなくなってスッキリした、というのが率直な感想だ。エディタ自体も CLI 中心の開発スタイルに合わせて選ぶのが重要で、筆者は「Windsurf vs Zed 徹底比較」で解説しているように、軽量な Zed と CLI エージェントの組み合わせを採用している。


移行して感じた変化

筆者の MCP → CLI 移行ビフォー・アフター
指標 MCP 中心(移行前) CLI 中心(移行後)
トークン消費 月 $10〜$50 がスキーマに消費 月 $1 以下に激減
作業速度 スキーマ読み込みに時間 即座にコマンド実行
エラー頻度 タイムアウト・型エラーあり ほぼゼロ
長時間セッション 20k 時代は数ターンで上限到達 追加で数ターン作業可能に
制約 Docker/K8s/Google/Obsidian/Playwright 等を大量接続 全 MCP 削除、CLI + API + Skills で代替

筆者調べ(2026年3月時点、Claude Max プラン利用)

移行で最も実感したのは、なんらかの制約がない限り CLI を使うべきだということだ。移行は段階的に進めた。CLI 対応が進んだサービスから順に切り替え、現在は MCP を基本的にすべて外している。CLI がなくても API があるサービスは Skills に使い方を記述して対応した。とはいえ、CLI を AI エージェントが扱える場所に配置する必要はあるし、CLI も API もないサービスでは MCP に頼る場面は残る。両方のアプローチを理解して、統合ごとに最適な方を選ぶのが現実的な結論だ。


MCP vs CLI 使い分けの判断基準【フローチャート】

使い分けを考える上で、開発ワークフローの「Inner Loop」と「Outer Loop」という切り口が参考になる。Inner Loop は手元でコードを書いて即座にフィードバックを得るフェーズ(コーディング・デバッグ・テスト実行)。Outer Loop はコードが外部システムと連携するフェーズ(CI/CD・デプロイ・チーム間コラボレーション・SaaS 連携)だ。

Inner Loop → CLI が有利

スピードとトークン効率が最優先。gitghdockerpytest などモデルが熟知した CLI で即座に実行。スキーマ注入のオーバーヘッドはゼロ。

Outer Loop → MCP が有利な場面あり

外部 SaaS・マルチテナント認証・チーム横断の連携。OAuth 2.1 による認証委任、構造化された監査ログ、統一 JSON レスポンスが必要なら MCP が適する。

ただし筆者の実践では、Outer Loop でも CLI や API + Skills で対応できるケースがほとんどだった。MCP でしかできないものでなければ CLI を使う、というシンプルな基準で十分だ。

MCP vs CLI 判断フローチャート — 成熟CLIがあればCLI、APIがあればSkills、なければMCP
筆者の MCP vs CLI 判断基準(2026年4月時点)

CLI を選ぶべきケース

✅ 成熟した CLI が存在する

gh、docker、kubectl、git、aws cli、gcloud など。数年以上の実績があり、モデルの学習データにも豊富に含まれている。

✅ トークン効率が重要

API コストを最小化したい場合や、コンテキストウィンドウを本来の推論に使いたい場合。10〜32倍のコスト差は無視できない。

✅ 個人開発・チーム開発

信頼できるメンバーのローカル環境で動作させる場合、MCP のエンタープライズセキュリティ機能は過剰。CLI のシンプルさが有利。

✅ 信頼性が最優先

100% の成功率が求められるCI/CDパイプラインや自動化ワークフロー。MCP の ConnectTimeout リスクを許容できない場面。


MCP を選ぶべきケース

🔒 CLI がないサービス

Slack、Notion、Figma、Salesforce など。公式 CLI が存在しないサービスでは、MCP(または直接 API 呼び出し)が唯一の選択肢。

🔒 マルチテナント認証

SaaS プラットフォームで複数の顧客がそれぞれの認証情報で接続する場合、MCP の OAuth 2.1 フローが適している。

🔒 エンタープライズガバナンス

監査ログ、権限制御、コンプライアンス要件がある環境。「誰が何をしたか」のトレーサビリティが必要なら MCP が有利。

🔒 非技術者向けプロダクト

エンドユーザーがターミナルを使わない場合、MCP の統一的な UI 統合(チャットからツールを呼び出す体験)が適している。


ハイブリッドが正解(筆者の結論)

現実的には、CLI と MCP を状況に応じて使い分ける「ハイブリッドアプローチ」が2026年のベストプラクティスだ。

🎯 ハイブリッドパターン ― Claude Code の実装例

Claude Code はハイブリッドアプローチの好例だ。コアの開発作業(git、ファイル操作、テスト実行)には CLI を直接実行し、Notion や Slack のような CLI が存在しないサービスには MCP サーバー経由で接続する。さらに、MCP の Lazy Loading(ToolSearch)でスキーマ注入コストを最小化している。

このパターンはすでに多くの AI コーディングツールで採用されており、コスト効率と機能カバレッジを両立する現実的な解だ。Claude Code の効率化テクニックでもこのハイブリッド運用のコツを解説している。また、CLI・Web・Desktop という3つの Claude Code の利用形態について迷っている場合は、Claude Code CLI・Web・Desktop どれを使うべき?を確認してほしい。

MCP vs CLI 場面別おすすめアプローチ
場面 推奨 理由
開発ワークフロー CLI git / gh / docker は CLI が圧倒的に効率的
顧客向けプロダクト MCP OAuth 認証・権限制御・監査ログが必要
Slack / Notion 連携 MCP CLI が存在しないため MCP が唯一の選択肢
CI/CD パイプライン CLI 100% の信頼性が必要、MCP の接続不安定を許容不可

筆者調べ(2026年3月時点)


MCP を推進する動き

MCP エコシステムは2026年に入って加速度的に拡大している。

  • Linux Foundation AAIF: Anthropic、OpenAI、Block、Google、Microsoft の5社が共同設立。MCP の標準化とガバナンスを推進
  • Docker MCP Catalog: Docker Hub のように MCP サーバーをワンクリックで配備できるカタログが登場。セットアップの障壁が大幅に低下
  • 主要 SaaS 対応: GitHub、GitLab、Jira、Confluence、Salesforce、HubSpot など、エンタープライズ向け SaaS のほぼすべてが公式 MCP サーバーを提供
  • Streamable HTTP トランスポート: 従来の stdio に加え、HTTP ベースのトランスポートが標準化。リモート MCP サーバーの運用が容易に

CLI 回帰の動き

📢 注目 ― Perplexity の MCP 離脱

2026年3月、Perplexity が MCP サポートを縮小し、CLI ベースのエージェント実行にシフトすることを発表。理由として「トークンコストの非効率性」と「接続の不安定さ」を挙げた。AI エージェント市場でコスト競争が激化する中、MCP のオーバーヘッドが無視できなくなった形だ。

  • Anthropic コード実行パターン: Anthropic 自身が MCP の代替として、コード実行ベースのツール呼び出しを研究。スキーマ注入を 98.7% 削減するアプローチ
  • ターミナルファーストツールの台頭: Claude Code、Warp Terminal、Ghostty など、ターミナル/CLI をファーストクラスの AI インターフェースとして設計するツールが増加
  • 「CLI is all you need」論: 開発者コミュニティで「MCP は過剰設計、CLI で十分」という議論が活発化。特に個人開発者やスタートアップで共感を集めている

今後の展望

MCP と CLI は共存する方向に進んでいる。MCP はエンタープライズ・マルチテナント・ノーコード領域で、CLI は開発者向けワークフロー・コスト最適化領域で、それぞれの強みを発揮する。今後注目すべきポイントは以下の3つだ。

🔮 MCP の仕様改訂

AAIF による次期仕様でスキーマ注入の最適化(Lazy Loading の標準化、ツールの動的選択)が議論されている。仕様レベルでトークン消費が改善されれば、コスト面での CLI 優位性は縮小する。

🔮 コンテキストウィンドウの拡大

モデルのコンテキストウィンドウが拡大し続ければ、MCP のスキーマ注入コストの相対的な影響は低下する。ただし、トークン単価も重要な変数。

🔮 エージェント間通信

AI エージェント同士が連携する「A2A(Agent-to-Agent)」シナリオでは、構造化された MCP の方が有利。CLI はあくまで人間のインターフェースであり、エージェント間通信には不向き。


よくある質問 — MCP vs CLI の違いについて

Q1: MCP と CLI は両方同時に使える?

はい、併用が推奨される。Claude Code、Cursor、Windsurf など主要ツールは MCP vs CLI の両方に対応している。タスクや接続先ごとに使い分けるのがベストだ。筆者も日常開発は CLI 中心で、主要 AI エディタではこのハイブリッド運用が主流になっている。

Q2: MCP のトークン消費は今後改善される?

Dynamic Toolsets(96%削減)などの実装レベルの削減策は既にある。ただし、根本的な「スキーマ全注入」問題が MCP 仕様レベルで解決されるかは未定だ。AAIF での標準化に期待したい。

Q3: CLI だけで運用するのはアリ?

個人開発・小規模チームなら CLI だけで十分だ。筆者も日常開発は CLI 中心で、gitghdockerkubectl など主要ツールはすべて CLI で操作できる。CLI がないサービス(Slack、ブラウザ操作等)との連携が必要な場合のみ MCP を追加すればよい。

Q4: エンタープライズ環境ではどちらを使うべき?

ハイブリッドが推奨だ。社内の開発ワークフローには CLI を使い、顧客向けプロダクトやマルチテナント環境には MCP の OAuth 2.1 認証・監査ログ機能を活用するのがベストプラクティスだ。

Q5: MCP サーバーは自分で作る必要がある?

ほとんどの場合、自作は不要だ。GitHub、Slack、Notion、PostgreSQL など主要サービスの公式 MCP サーバーが既に公開されている。社内独自の API を MCP 化したい場合のみ、TypeScript / Python SDK でカスタム開発が必要になる。筆者自身も n8n(ワークフロー自動化ツール)操作用の MCP サーバーを自作した経験があるが、AI の支援があれば開発自体はそこまで大変ではなかった。

Q6: Claude Code で MCP と CLI をどう使い分けている?

Claude Code は Skills 機能で CLI コマンドや API の使い方をラップできる。筆者は現在 MCP を基本的にすべて外し、ghdockerpsql などは CLI をシェル経由で直接実行、CLI がないサービスは API の使い方を Skills に記述して対応している。MCP の「統一インターフェース」を Skills + CLI + API で代替した形だ。詳しくは Claude Code Skills 完全ガイドを参照してほしい。

Q7: MCP から CLI に移行するのは難しい?

ツールに CLI がある場合は簡単だ。CLI コマンドを PATH に配置し、MCP サーバーの設定ファイルからツールを削除するだけ。筆者は段階的に移行した(1 サービスずつ CLI に切り替え)。一気に全部変える必要はない。

Q8: CLI は時代遅れの技術では?

むしろ逆だ。AI エージェント時代に入って CLI は再評価されている。LLM は膨大な CLI 操作の学習データで訓練されているため、CLI コマンドの生成・実行が最も得意なタスクの1つだ。Claude Code・Gemini CLI・Codex CLI など、2026年の主要 AI コーディングツールはいずれもターミナルファーストで設計されている。GUI が人間にとって使いやすいように、CLI は AI エージェントにとって最も自然なインターフェースと言える。

Q9: MCP は REST API と何が違う?

REST API はデータの CRUD 操作に特化した汎用プロトコルだ。MCP は AI モデルとツールの間の通信に特化しており、いくつかの違いがある。MCP はツールの自動発見(モデルが利用可能なツール一覧を取得)、JSON Schema によるパラメータの型安全性、セッション管理、OAuth 2.1 認証の標準化などを備えている。REST API を「何でもできる汎用道路」とすれば、MCP は「AI エージェント専用の高速レーン」だ。ただし、AI エージェントが curl で REST API を直接叩くアプローチ(CLI パターン)もトークン効率では優れており、MCP が常に最適とは限らない。


まとめ — MCP vs CLI は「CLI 優先、MCP は補完」が正解

MCP vs CLI の結論:CLI 優先、MCP は CLI がない場面とガバナンスで使う。
ハイブリッドが2026年のベストプラクティス。

Scalekit ベンチマークが示したように、CLI は MCP の 10〜32倍安く信頼性も100% だ。筆者自身が MCP 中心から CLI 中心に移行した結果、トークン消費が半分以下になり、長時間セッションの安定性が大幅に向上した。成熟した CLI が存在するサービス(GitHub、Docker、Kubernetes、AWS など)では CLI を基本にし、CLI がないサービスとの連携やエンタープライズガバナンスが必要な場面でのみ MCP を使う――これが2026年現在の最適解だ。

最後に、重要なのは「技術の優劣」ではなく「タスクへの適合性」だ。CLI で事足りる場面で MCP を使えばコストを浪費し、MCP でしかできない場面で CLI に固執すれば機能を失う。自分のユースケースを冷静に分析し、最適なツールを選ぼう。

krona23

著者

krona23

IT業界20年以上の実務経験を持ち、日本国内有数のPVを誇る大規模Webサービスで事業部長・CTOを複数社で歴任。Windows/iOS/Android/Webと技術の変遷を経験し、現在はAIネイティブへの変革に注力。DevGENTでは、AIコードエディタ・自動化ツール・LLMの実践的な使い方を日英西3言語で発信中。

DevGENT について →

コメントを残す

Trending

DevGENTをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む