MCP:統一されたツール呼び出しプロトコルを解き明かす
MCPの定義
MCPは、大規模言語モデル(LLM)が外部のツールやサービスとやり取りする方法を標準化するために設計された、オープンな技術プロトコルです。AIの世界における普遍的な翻訳機と考えることができます。AIモデルが様々な外部ツールと「対話」できるようにし、異なるアプリケーションやサービスが提供する機能をLLMが要求し、利用するための共通言語と構造を提供します。
MCPが必要な理由
MCPが登場する以前は、AIツールの呼び出しは主に2つの課題によって阻害されていました。
- インターフェースの断片化: 各LLMは異なる命令形式を使用し、各ツールAPIは独自のデータ構造を持っていました。開発者は、あらゆる組み合わせに対してカスタム接続コードを作成する必要があり、複雑で非効率な開発プロセスにつながっていました。
- 開発の非効率性: この「1対1の翻訳」アプローチは、コストがかかり、拡張が困難でした。海外のクライアントごとに専任の翻訳者を雇うようなもので、生産性と俊敏性を妨げていました。
MCPは、LLMが外部ツールとやり取りするための標準化されたフレームワークを提供することで、これらの問題を解決し、開発プロセスを簡素化し、より優れた拡張性を実現します。
MCPの機能の理解
MCPの技術アーキテクチャは、MCPホスト、MCPクライアント、MCPサーバーという3つの主要コンポーネントで構成されるシステムとして概念化できます。これらの要素は相乗的に機能し、AIモデルと外部世界との間のシームレスなコミュニケーションを促進します。
MCPの役割を理解するために、現代のエンタープライズ環境を考えてみましょう。この例では:
- ユーザーは、ユーザーのニーズを理解し、最終的な意思決定を行う責任を負う上級幹部を表します。
- 大規模言語モデル(LLM)(ClaudeやGPTなど)は、幹部の指示を理解し、タスクのステップを計画し、外部サービスを利用するタイミングを決定し、情報を統合して回答を提供します。
- Agentシステムは、指示されたタスクを実行する個人アシスタントまたは秘書として機能します。
- MCPは、秘書が使用する標準化されたコミュニケーションプラットフォームまたはエンタープライズサービスアクセスシステムとして機能します。意思決定は行わず、指示に従い、統一された形式とプロトコルで様々なサービスプロバイダーと通信します。
MCPが登場する以前は、AIと外部ツールとのインタラクションは、混沌とした通信規格の時代に似ていました。秘書(Agent)が異なる部署または外部サプライヤーに連絡する必要があるたびに、異なる通信デバイスまたはソフトウェアを使用する必要がありました。これには多様なシステムに関する知識が必要であり、非効率につながりました。開発者はツールごとに個別の接続コードを作成する必要があり、時間と拡張性が無駄になりました。
MCPは、統一されたコミュニケーションプラットフォームを提供することで、このプロセスを効率化し、秘書は同じシステムとコミュニケーションプロトコルを使用して、あらゆる部署またはサービスプロバイダーに連絡できます。開発者はMCPインターフェースを一度実装するだけで、AIシステムはプロトコルをサポートするすべてのツールとやり取りできます。
MCP:ファンクションコール上に構築されたツールボックス
MCPは従来のファンクションコールの代替となるものではなく、その機能を強化する補完的なコンポーネントであるということを理解することが重要です。
ファンクションコールは、LLMが外部ツールやAPIとやり取りするためのコアメカニズムです。これはLLMの基本的な機能であり、ツールが必要な場合や必要なツールの種類を識別できます。
MCPはツール分類システムとして機能し、様々なツールを整理してアクセスするための構造化されたフレームワークを提供します。したがって、MCPはファンクションコールの代わりになるものではなく、Agentと連携して複雑なタスクを完了します。
完全なツール呼び出しプロセスには、「ファンクションコール+ Agent + MCPシステム」の組み合わせが含まれます。
基本的に、LLMはファンクションコールを通じて特定のツールを呼び出す必要性を表明します。Agentは指示に従ってツール呼び出しを実行し、MCPは標準化されたツール呼び出し仕様を提供します。
次の例を考えてみましょう。上司(ユーザー)がコーヒーを欲しがっています。オフィス(MCPホスト)では、オフィスマネージャー(LLM)が秘書(Agent)にアメリカーノ(ファンクションコール)を買うように指示します。秘書はサプライヤーリストを確認し、アメリカーノコーヒーのサプライヤーがMeituanまたは会社の統一調達システム(実装されたMCPサーバー)と統合されていることを確認します。その後、秘書は調達システム(MCPクライアント)でサプライヤーを見つけ、注文をします。
以前は、MCPがなければ、LLMがファンクションコールを発行すると、Agentはそれを翻訳してAPIに直接接続してツールを呼び出していました。各APIには個別の呼び出しモードが必要で、Agentが解釈するための定義されたツールリストと呼び出しモードが必要でした。MCPを使用すると、多くのAPIをサプライヤーのMCPクライアントを通じて直接注文できるため、Agentの時間と労力を節約できます。ただし、LLMのファンクションコールは変更されず、{tool: ‘buy coffee’, ‘type’: ‘Americano’}という形式のままです。
ファンクションコールとMCPを区別することで、MCPはどのツールを使用するかを決定せず、タスクの計画やユーザーの意図も処理しないことが明らかになります。これらの側面はすべて、Agentレイヤーの範囲内にあります。MCPは単に統一されたツールインターフェースを提供するだけであり、業界内で認識されている標準プロトコルになります。
MCPの開発課題と市場の状況
開発の難題
2月以降、AI開発コミュニティは「MCPゴールドラッシュ」を目撃しました。公式アプリストアがないため、数千ものツールが3か月以内にMCPプロトコルと自発的に統合されました。
この急速な成長により、MCPは業界の注目を集めましたが、願望と現実のギャップも露呈しました。開発者は当初MCPを「普遍的な鍵」と見なしていましたが、特定のシナリオでは優れた能力を発揮するものの、他のシナリオでは効果が低い「特殊なレンチ」であることがわかりました。
MCPの参加者は、ローカルクライアントアプリケーション、クラウドクライアントアプリケーション、およびMCPサーバー開発者として分類できます。ローカルアプリケーションはローカルAIアシスタントに似ており、クラウドクライアントアプリケーションはWebベースバージョンのChatGPTに似ています。MCPサーバー開発者はツールの実際のプロバイダーであり、MCPルールに準拠するようにAPIを再パッケージ化する必要があります。
MCPの登場は当初、ローカルクライアントアプリケーションに歓迎されましたが、クラウドクライアントアプリケーションとMCPサーバー開発者は課題に直面しました。
MCPはAnthropicのClaude Desktopアプリケーションから生まれ、当初はローカルファイルと関数を呼び出すためのインターフェースプロトコルとして設計され、クライアント側のニーズに深く根ざしていました。
ローカルクライアントユーザーにとって、MCPは革命であり、ユーザーがAIアシスタントの機能を継続的に拡張できる、無限に拡張可能なツールボックスを提供しました。
CursorやClaude Desktopなどのローカルクライアントアプリケーションは、MCPを活用して、ユーザーが個々のニーズに基づいてツールを動的に追加できるようにし、AIアシスタント機能の無制限の拡張を実現しています。
MCPは、AIアプリケーションが各ツール用に個別のインターフェースを開発することなく、ローカル環境や外部ツールとシームレスにやり取りできるようにする方法という、ローカルクライアント開発におけるコアの課題を解決します。この統一プロトコルは統合コストを大幅に削減し、小規模なスタートアップや個々の開発者に、限られたリソースで機能豊富なAIアプリケーションを構築するための近道を提供します。
ただし、MCPの魅力は、サーバー側の開発(MCPサーバー)とクラウドクライアントを考慮すると低下します。初期バージョンのMCPは、クラウドサーバー(リモート)用のデュアルリンクメカニズムを採用し、サーバーからクライアントへの一方向メッセージプッシュにはSSE長接続を使用し、メッセージ送信にはHTTP短接続を使用しました。
このアプローチは、タイムリーなユーザーフィードバックと介入にはうまく機能しましたが、サーバー側の環境では一連のエンジニアリング上の課題が発生しました。
まず、MCPインターフェースを実装すると、大規模なエンタープライズサービスプロバイダーにとって追加の作業負荷が発生し、必ずしも対応するメリットが得られるとは限りません。これらのサービスには成熟したAPIシステムがあり、追加のMCPアダプテーションレイヤーを提供すると、大幅な価値を生み出すことなくメンテナンスコストが増加するだけです。多くのエンタープライズレベルのアプリケーションは、MCPのオープンなエコシステムよりも、閉じた制御可能なツール呼び出しメカニズムを好みます。
さらに、高並行呼び出しを処理するために、MCPサービスは多くの場合、マルチサーバーアーキテクチャにスケールする必要があります。MCPのデュアル接続モデルは、マシン間のアドレス指定の複雑さを導入します。長接続が1つのサーバーで確立され、リクエストが別のサーバーにルーティングされると、これらの分散接続を調整するために追加のブロードキャストキューメカニズムが必要になり、実装の難易度とメンテナンスコストが大幅に増加します。
次に、MCPはクラウドアプリケーションの領域で制限があります。クラウドAIエージェント(サーバー側エージェント)は通常、ステートレスサービスで実行され、受け入れ後にタスクを処理し、完了時にリソースを解放します。サーバー側でMCPクライアントを使用するには、一時的にSSEリンクを作成し、ツール呼び出しリクエストを送信し、SSEから結果を受信してからSSEリンクを閉じる必要があり、これは非効率的なアプローチであり、複雑さを増し、パフォーマンスを低下させます。このシナリオでは、1つのRPCリクエストで十分です。
実際には、MCPを使用するクラウドアプリケーションは、プリセットのツールセットに依存していることが多く、動的なツール検出と柔軟なロードというMCPの署名機能を利用していません。
クラウド環境のデータインタラクションモードは、MCPが意図したようにツールを自由に使用する機能を制限します。特定のハードコードされたツールを呼び出すための高度に標準化されたプロセスが必要となり、柔軟性が犠牲になります。
MCPチームは、ユーザーからのフィードバックに積極的に対応していることを実証しています。サーバー側の開発者からのフィードバックを受けた後、MCPは3月26日にプロトコルを更新し、元のSSEトランスポートをストリーム可能なHTTPトランスポートに置き換えました。新しいプロトコルは、単一のツール呼び出しリクエストのみを必要とするステートレスサービスシナリオと、以前はHTTP + SSEデュアルリンクを通じて満たされていたリアルタイムプッシュ要件の両方をサポートしています。
これらの改善は、現在のMCPの問題が最初の設計上の制限に起因するものの、乗り越えられないものではないことを示唆しています。
市場の混乱
MCPが直面しているもう1つの課題は、市場における多くの実装の使いやすさが低いことです。
現在のMCP市場は、典型的なテクノロジーハイプサイクルを経験しています。初期のApp Storeの混乱と同様に、現在利用可能な数千のMCPツールのうち、実際に価値があるのは20%未満です。多くの実装には、単純な構成エラーから完全な使用不能まで、深刻な問題があります。一部は適切なテストを行わずに急いで市場に投入され、その他は実際的な使用を意図していない実験的な製品です。
より根本的な問題は、多くのMCP実装が市場で必要とされていない可能性があることです。MCPを通じて提供される多くのツールは、MCPの登場前に既に入手可能で、使用されていた再パッケージ化されたAPIであり、独自の価値はほとんど追加されていません。
たとえば、数十の検索サービスがMCPを通じて提供されていますが、その品質は大きく異なります。一部のサービスは不正確または低速である可能性があり、既存のソリューションよりも望ましくありません。
さらに、MCPには堅牢な評価システムがないため、エージェントが信頼できるメトリックに基づいて最適なツールを選択することが困難になっています。この非効率的な選択プロセスはコンピューティングリソースを浪費し、タスク完了時間を延長し、ユーザーエクスペリエンスを低下させます。
評価システムがないため、エージェントが最適なツールを選択することが困難になります。複数のMCPサービスが同様の名前と説明のツールを提供している場合、エージェントは最適なオプションの選択に苦労し、トークンが無駄になり、効率が低下する可能性があります。
最も成功したAIアプリケーションは、多くの場合、逆のアプローチを採用し、より多くのツールではなく、より正確なツールを提供します。たとえば、Manusは、その存在にもかかわらず、MCPプロトコルを採用する代わりに、内部アプリケーションを構築することを選択しました。Manusは、MCPエコシステムとの統合よりも、呼び出しの精度と安定性を優先しました。
Cursorなどのコードエディターには組み込みの開発機能があるため、ほとんどの外部MCPツールは冗長になります。
現在のMCP市場の混乱した状態は、必ずしも失敗の兆候ではなく、新興テクノロジーエコシステムの成長に必要な段階です。歴史的な先例は、この最初の過剰な拡大が市場の選択メカニズムを通じて徐々に収束し、最も価値のある要素が残されることを示唆しています。
このプロセスにより、業界は現在の課題から学び、より強力で信頼性の高いMCPフレームワークを作成できます。ドットコムバブルがeコマースやソーシャルメディアに画期的なイノベーションをもたらしたように、MCPのトレンドは、より合理化された価値のあるツールエコシステムにつながる可能性があります。
MCPチームのユーザーフィードバックに対するオープンな姿勢は心強く、業界はMCPサービスの品質を評価および保証するためのより優れたツールを必要としており、それがエコシステムの使いやすさを向上させるのに役立ちます。
MCPは優れているが、万能薬ではない
上記の課題はMCPの限界と欠点から生じており、MCPが現実的に達成できることを強調しています。ただし、他の批判は非現実的な期待から生じています。
最近の批判では、LLMとMCPの間のインタラクションパターンを規定していないため、MCPは欠陥のあるプロトコルであるとされています。
一部の人々は、MCPがAIシステムの意思決定を自動的に改善したり、タスク計画の効率を向上させたりすることを期待しています。この期待は、ツールと職人を混同しています。
この問題は、認知の不一致から生じています。コミュニケーションプロトコルがインテリジェントシステムのタスクを実行することを期待しているのです。これは、USBが写真を編集しないことや、5G規格がコードを記述しないことを非難するようなものです。MCPは主に標準化された「ツールソケット」であり、どのアプライアンスを使用するか、またはどのように使用するかを規定するのではなく、プラグの互換性を保証します。
Agentツールの呼び出しの有効性は、ツールの選択能力、タスク計画のスキル、コンテキストの理解などの要因に依存しており、これらはいずれもMCPの範囲外です。MCPは標準化されたツールインターフェースのみを保証し、それらのツールがどのように選択され、組み合わされるかは保証しません。
私たちはテクノロジーにおいて、普遍的に適用可能なソリューションである銀の弾丸を求めることがよくあります。ソフトウェアエンジニアリングの「銀の弾丸はない」という公理と同様に、AIツールの使用に魔法の解決策はありません。強力なAIシステムには、設計されたコンポーネントが必要です。理解と生成のためのLLM、計画と実行のためのAgentフレームワーク、統一されたツールインターフェースに焦点を当てたMCP。
MCPは優れたプロトコル設計を示しています。すべての問題を解決するのではなく、1つの問題に焦点を当ててうまく解決します。その抑制は、クライアント側のツール統合における進歩に役立ちます。
AlibabaのQwen、Baiduの「Xinxiang」、ByteDanceのKouzi Spaceなどのエンティティは、MCPプロトコルを採用し、より効率的な内部MCPエコシステムの確立を試みています。
ただし、展開には重要な違いがあります。BaiduとByteDanceはより積極的です。Baiduは、モバイルデバイスを中心に、ユーザーの日常生活に統合し、採用を促進するために、MCPプロトコルを活用して「Xinxiang」(Kokone)を通じていくつかのAIモデルと外部ツールを統合するCエンドアプローチを試みています。
ByteDanceのKouzi Spaceには60以上のMCP拡張プラグインがあります。Webページからアクセスでき、MCPをサポートするAIネイティブIDEであるTraeも立ち上げ、主に生産性シナリオをターゲットにしています。
Alibabaは、Alipayなどの製品にMCPプロトコルを統合し、ワンクリックAIツール呼び出しを可能にし、MCPプロトコルをサポートするQwen3モデルをオープンソース化し、Agent機能を強化しました。
Tencent Cloudの開発者は、MCPプラグインホスティングサービスをサポートするAI開発スイートをリリースしました。Tencent Cloudの大規模モデルナレッジエンジンにより、ユーザーはMCPプラグインを呼び出すことができます。Tencent CloudのCodeBuddyによって立ち上げられたCraftソフトウェア開発インテリジェントエージェントは、MCPオープンエコシステムと互換性があります。さらに、Tencent MapsとTencent Cloud Storageは独自のMCP SERVERをリリースしました。
AIツールの使用は、アセンブリ言語からオブジェクト指向へのプログラミングスタイルの進化と同様に、直接的な単一ツールの操作からプロフェッショナルなAgentコラボレーションに進化する可能性があります。
このパラダイムでは、MCPは単なるユーザーまたは開発者向けのインターフェースではなく、基盤となるインフラストラクチャの一部になる可能性があります。より完全な計画では、抽象化レベルを高めることによってタスク計画とツールの選択効率を向上させるために、Agent to Agents(A2A)のようなアーキテクチャが必要になる場合があります。
MCPをその「プロトコル」の役割に戻すことで、業界標準化を推進する真の力を認識できます。これは、テクノロジーの進化における最も貴重な「神秘化の解消」の瞬間となる可能性があります。