概要
- MCP(Model Context Protocol) は、LLMと外部ツールを接続する仕組みだが、 コンテキスト消費量・信頼性・CLI/APIとの重複 が課題
- Claude Codeの「Tool Search with Deferred Loading」 導入で、コンテキスト問題は大幅に改善
- それでも パフォーマンス・デバッグ・設計上の問題 は残る
- CLIファースト戦略 や Skillsパターン が現実的な代替案
- 用途や状況でMCP/CLI/Skillsを使い分け るのが現場での最適解
MCPの問題点と現状
- MCP(Model Context Protocol) は、LLMとGitHub、Linear、Notion、Slackなどの外部ツールを接続するプロトコル
- 2024年後半の登場以来、「AIエコシステムのUSB-C」 と称賛されてきたが、実運用では評価が分かれる
- 主な課題 は「コンテキスト消費量」「運用信頼性の低さ」「既存CLI/APIとの重複」
問題1:コンテキストウィンドウの圧迫
- MCPツール定義 がコンテキストウィンドウ(LLMの作業領域)を大量消費
- レストランの例え :テーブルに10冊のメニュー(ツール定義)が常時並び、料理(実作業)のスペースが減る
- 実測では 4サーバー接続時、10.5%のコンテキスト がツール定義だけで埋まる
- 特にLinear は42ツール定義で約12,800トークン消費。実際に使うのはごく一部でも全定義が常時ロード
- Linear: 42ツール、約12,807トークン
- Notion: 14ツール、約4,039トークン
- Slack: 12ツール、約3,792トークン
- Postgres: 9ツール、約438トークン
問題2:運用信頼性の低さ
- 初期化失敗・再認証要求・プロセス管理 など、運用負荷が高い
- 毎回外部サーバー経由 でAI応答が遅くなる
- MCPサーバーのクラッシュ やセッション中断も発生しやすい
- 権限管理の不透明さ も課題
- パフォーマンス比較 :Jira MCPはREST API直接利用の3倍遅く、初回は9.4倍遅い(全てのMCPサーバーに共通する構造的問題)
問題3:CLI/APIとの重複
- CLIやAPI は人間もLLMも同じコマンドを使え、デバッグも容易
- MCPはLLM会話内に限定され、自由度が低い
- インストールコスト もCLIは既に導入済みが多いが、MCPはサーバー構築や認証管理が必要
- トークン消費比較(Linear Issue Lookup)
- CLI:コマンド+レスポンスで約200トークン
- MCP:ツール定義+レスポンスで約12,957トークン(CLIの約65倍)
代替案:CLIファースト戦略とSkillsパターン
- CLIファースト戦略 :CLI→API→ドキュメントの順でLLMに提供
- 既存CLIならコンテキスト消費ゼロ、デバッグ容易、パイプライン構築も自由
- Skillsパターン :必要なときだけツール定義をロード
- MCPが「全メニューを常に広げる」のに対し、Skillsは「必要な本だけ司書に頼む」方式
- コンテキスト消費が必要最小限で済む
- CLI使用法をSkillsに埋め込み、CLIファースト戦略と組み合わせるのが最も効率的
- 例:Linear Issue Lookup SkillにcurlコマンドとAPIエンドポイント、認証方法を記載
- 必要時のみロード、42ツール定義を常時保持不要
MCPの使い所とデータベース運用
- MCPが有効なケース
- CLIが存在しないサービス(Web専用SaaS等)
- 非開発者ユーザー(ターミナルを使わない層)
- リアルタイム双方向通信が必要な場合
- データベースは状況次第
- LLMはSQLやMongoDBクエリを既に習得、スキーマとCLI使用法をSkillsで補完可能
- MCPはクエリ安全性(read-only enforced等)や認証情報保護で有利
- ローカル開発や個人用DB→Skills+CLIが軽快
- 本番DBやチーム共有→MCPによる安全管理が推奨
現場での最適な使い分け(Quandri事例)
- Bash+CLI :日常的に使うツール(gh、psql、aws等)はこれ一択。コンテキスト消費ゼロ、柔軟性・デバッグ性抜群
- Skills :コミット作成やPRレビュー等、繰り返し手順化できるワークフロー
- MCP :CLIが弱いサービス(Slack、Linear、Notion)、チーム単位の認証・権限管理が必要な場合
- 状況に応じて柔軟に選択、CLIがあれば原則それを優先
結論
- MCPをSkills+CLIで置き換えることで、約21,000トークンのコンテキスト削減・運用トラブル減・デバッグ性向上 を実現
- 必要なツールだけ、必要な時だけロード し、CLI手順をSkillsに埋め込むのが現時点の最適解
- MCPは今後進化する可能性もあるが、現状はSkillsが優勢
測定方法
- 実際に稼働中のMCPサーバーからツール定義(JSONスキーマ)を抽出
- トークン数は「約4文字=1トークン」換算で推計
- 全サーバーの合計値はサンプル平均から外挿