概要
MCP(Model Context Protocol) の普及が停滞している理由を解説。 CLI(コマンドラインインターフェース) の優位性を具体例とともに強調。 認証やデバッグの簡便さ など、CLIの現実的な利点を列挙。 MCPが適切な場合もあるが、 大半の用途ではCLIが有効 と主張。 開発者への提言として、まず CLIの提供を優先 する重要性を訴求。
MCPはすでに衰退しつつある
- OpenClaw や Pi がMCPをサポートしていない現状
- Anthropic によるMCP発表時の業界の過剰反応
- 多くの企業が MCPサーバー開発にリソース投入 という非効率
- LLMが既存の方法で十分にサービスと連携できる事実
- MCPの現実的な価値への疑問
LLMに特別なプロトコルは不要
- LLMは CLIツールの利用が得意 である訓練済み
- マニュアルやStack Overflow、GitHub などの情報も豊富に学習
- MCPによるインターフェースの「清潔化」は 実際には冗長
- 結局 CLIの使い方やパラメータ説明 など、同じドキュメント作成が必要
- 新プロトコル導入の実益の薄さ
CLIは人間にも分かりやすい
- LLMがJira操作で想定外の動作をした場合、 同じCLIコマンドで確認可能
- CLIなら出力の透明性 が担保される
- MCPでは 内部的なやり取りがブラックボックス化 しやすい
- デバッグの難易度上昇 と非効率化
CLIの強力な構成性
- CLIはパイプやリダイレクトによる柔軟な組み合わせ が可能
- jqやgrepとの連携
- ファイルへの出力
- 例: Terraformの大規模プラン分析 もCLIなら既存ツールで簡単対応
- MCPでは データ全体をコンテキストに投入(非効率・高コスト) や、サーバー側でのカスタム実装が必要
- CLIの方が既存の資産や知見を活用しやすい
認証は既存の仕組みで十分
- MCPは 認証方式が独自で過剰
- CLIは aws, gh, kubectl など、既存の認証フローが安定
- 認証トラブル時も 従来通りの解決手順 で対処可能
- MCP固有のトラブルシューティング不要
余計なプロセス管理が不要
- MCPサーバーはプロセス管理が必要 で、不安定要素
- Claude Codeでは 子プロセスとして起動 だが、失敗時に再起動や状態リセットが必要
- CLIは単なるバイナリ で、プロセス常駐や初期化不要
- 必要な時だけ起動・利用できる シンプルな運用
MCP導入による実務的な不便さ
- 初期化の不安定さ で作業効率低下
- MCPツールごとに 認証作業が煩雑
- CLIならSSOや長期認証で一括管理 が可能
- MCPの 権限管理が大雑把 で、CLIのような細やかな操作制御が不可
- 具体例: gh pr view は許可、 gh pr merge は承認必須など、CLIなら柔軟な許可設定
MCPが有効なケース
- CLI相当が存在しないツール にはMCPが有用
- MCPの 標準化インターフェース としての価値は一定あり
- ただし 大半の業務ではCLIの方が現実的
本質的な教訓
- 人間と機械の両方に使いやすいツールが最良
- CLIは 長年の設計改善 で熟成
- デバッグ性・構成性・認証連携 の面でCLIが優秀
- MCPは 既存の良い仕組みを置き換えるには至らず
開発者への提言
- MCPサーバー開発前に公式CLIの提供を優先 する重要性
- まず APIとCLIを整備 し、エージェント側での活用を促進
- LLMやエージェントは既存CLIを十分活用可能 である現実