C
ChaoBro

Anthropicエンジニアが暴露:ほとんどの人がMCPを間違った方法で使っている

Anthropicエンジニアが暴露:ほとんどの人がMCPを間違った方法で使っている

コアポイント

Anthropicのエンジニアがコミュニティで指摘:ほとんどの人はMCPの表面しか使っていない。

ほとんどの開発者のMCPに対する理解はここで止まっている:

「MCPサーバーに接続 → 関数を呼び出す → 結果を取得」

この「ツール呼び出し」パターンはMCPの能力の最も浅い層に過ぎない。MCPの真の価値はこれをはるかに超えている。

MCPの3層能力モデル

第1層:ツール呼び出し(ほとんどの人が留まる場所)

エージェント → MCPサーバー → ツール呼び出し → 結果返却

これが現在90%の開発者の使い方。MCPサーバーに接続し、関数を呼び出し、結果を取得する。有用だが、到底十分とは言えない。

第2層:リソースサブスクリプションとストリーミング

MCPはツールだけでなくリソースの概念をサポートしている:

  • 静的リソース:ファイル、データベースレコード、設定情報
  • 動的リソース:リアルタイムデータストリーム、ログ、モニタリング指標
  • リソースサブスクリプション:エージェントはリソースの変更をサブスクライブでき、毎回能動的にクエリする必要がない

これはエージェントが繰り返しポーリングする必要がなく、受動的に更新を受信できることを意味し、長期実行エージェントシナリオにおいて重要。

第3層:コンテキスト管理と動的発見

MCPの深い能力:

  • プロンプト注入:MCPサーバーはエージェントにシステムレベルのプロンプトを注入し、利用可能な能力と使用制約を通知
  • 動的発見:エージェントは実行時に新しいツールや能力を動的に発見、事前に定義する必要がない
  • マルチサーバー協調:複数のMCPサーバー間でコンテキストとリソースを共有可能

見落とされている高価値用法

用法現在の採用率価値レベル
基本ツール呼び出し90%以上基本
リソースストリーミングサブスクリプション約15%
動的ツール発見約10%極めて高い
マルチサーバーコンテキスト共有約5%極めて高い
プロンプト注入と自己記述約20%

実際の例:MCPは単なる「天気チェック」ではない

データベースクエリMCPサーバーがあるとしよう:

基本用法:エージェントが query_database 関数を呼び出し、SQLを渡して結果を取得。

高度な用法

  1. MCPサーバーがプロンプトを注入し、データベーススキーマ、インデックス、クエリ制限をエージェントに通知
  2. エージェントが特定のテーブルの変更イベントをサブスクライブ、データ更新時に自動通知
  3. MCPサーバーがクエリの複雑さに基づいて最適な実行戦略を自動選択
  4. 複数のMCPサーバーがクエリキャッシュを共有、重複計算を回避

アクション提言

  • 既存のMCPユーザー:MCPサーバーがリソースとプロンプトを有効にしているか確認。ツールだけでなく
  • MCPサーバー開発者:リソースサブスクリプション機能の追加を検討。エージェントが「能動的にポーリング」ではなく「受動的に待機」できるように
  • エージェントフレームワークユーザー:OpenClaw、HermesなどのフレームワークがMCPリソースサブスクリプションと動的発見をサポートする進展に注目
  • アーキテクト:MCPをエージェントと外部システムの汎用通信層として捉える。単純な関数呼び出しインターフェースではなく

まとめ

MCPは「ツール呼び出しプロトコル」から「エージェント・システム通信インフラ」へと進化している。早期にその深い能力を理解し採用することで、エージェントアプリケーションアーキテクチャにおいて顕著な優位性を築ける。