メインコンテンツへスキップ

MCP vs API:その違いとは

Matt McKinney
AIArcBlock

Model Context Protocol(MCP)は、AIGNEとAIに新たな可能性をもたらす新しい技術です。MCPは、AI搭載アプリがデータを取得し、APIを呼び出し、タスクを実行して、真の課題解決ツールへと進化させるための、AIのための新たな「APIスーパーハイウェイ(高速道路)」と考えることができます。しかし、MCPはどのように機能し、従来のAPIとはどう違うのでしょうか?

従来のAPIとは?

従来のAPI(Application Programming Interface)は、異なるソフトウェアアプリケーション同士が通信するためのルールとプロトコルのセットです。これらは仲介役として機能し、あるシステムが別のシステムからデータや機能をリクエストできるようにします。最も一般的な従来のAPIはRESTfulであり、HTTPを利用して、アプリケーションがやり取りに使用する特定のエンドポイント(例:GET /data)を定義します。これらのAPIの特徴は以下の通りです:

  • 汎用的:ウェブサービスからモバイルアプリまで、さまざまなソフトウェア統合のために設計されています。
  • 事前定義済み:開発者は使用する正確なエンドポイントとメソッドを事前に知っておく必要があります。
  • リクエスト・レスポンス型:通常、クライアントがリクエストを送信し、サーバーが応答します。Webhookなどの追加設定がない限り、リアルタイムのやり取りは限定的です。

例えば、天気アプリは従来のAPIを使用して、固定されたエンドポイントを介してサーバーから現在の気温データを取得します。このアプローチはソフトウェア開発の基盤となっており、SOAPからREST、さらにはその先へと進化し、各世代が特定のニーズや制限に対応してきました。

MCPとは?

出典:norahsakal blog

Model Context Protocol (MCP) は、AIモデル(特に大規模言語モデル:LLM)を外部ツールやデータソースに効率的に接続するために設計されたオープン標準です。「AIアプリケーションのためのUSB-Cポート」に例えられることが多いユニバーサルコネクタと考えてください。MCPにより、AIシステムは以下のことが可能になります:

  • 外部リソースへのアクセス:リアルタイムデータをシームレスに取得したり、他のシステムでアクションを実行したりできます。
  • ツールの動的発見:事前の設定なしに、利用可能なツールを識別できます。
  • リアルタイム通信(汎用):WebSocketsのような双方向でインタラクティブなやり取りをサポートします。

Anthropic によってオープンソースイニシアチブとして開発されたMCPは、AIモデルが外界と統合する方法を標準化し、従来のAPIで頻繁に必要となるカスタムコードの必要性を減らすことを目的としています。

共通点:なぜMCPがAPIの新バージョンに感じられるのか

高い視点で見れば、MCP と従来のAPIは、「ソフトウェアコンポーネント間の通信を容易にする」という共通の核心的な目的を共有しています。MCPがAPIの「単なる新バージョン」のように見える理由は以下の通りです:

  • 標準化された統合:どちらもシステムが対話するための構造化された手法を提供します。従来のAPIはソフトウェア間の通信を標準化し、MCPはAIとツール/データ間の通信を標準化します。
  • 相互運用性:APIがサービスの経済圏(決済ゲートウェイやSNSプラットフォームなど)を育んできたように、MCPはAIモデルがさまざまなツールにシームレスにプラグインできるエコシステムを促進します。
  • 進化のパターン:APIはSOAPからREST、そしてGraphQLへと進化し、そのたびに新しい要求に応えてきました。MCPはこのパターンに合致しており、APIの概念に基づきつつ、AIの台頭に合わせたプロトコルとなっています。

分散型アプリケーションに焦点を当てたプラットフォームであるArcBlockの視点からは、MCPによってノーコードAIアプリプラットフォームであるAIGNEのアクセシビリティが向上し、外部データソースへ即座にリーチする能力が付与されます。

相違点:MCPを際立たせるもの

しかし、MCPは単に従来のAPIを焼き直したものではありません。特にLLMが必要とするもの、そしてAIGNEが必要とするもののために、革新的な機能を導入しています。主な違いは以下の通りです:

  • 動的発見(Dynamic Discovery):MCPでは、AIモデルが利用可能なツールやリソースを、事前にエンドポイントを定義することなくその場で発見できます。従来のAPIでは、開発者が特定のインターフェースを事前に把握し、それに合わせてコーディングする必要があります。
  • リアルタイムの双方向通信:MCPは、AIがデータを取得しながらコマンドを返すといった、インタラクティブで双方向のやり取りをサポートします。これはRESTful APIの典型的なリクエスト・レスポンスモデルを超えています。APIでも複雑な設定でこれを実現できますが、MCPはそれをエレガントに組み込んでいます。
  • AI特化型の設計:MCPはAIモデル専用に構築されており、LLMが外部システムからコンテキストにアクセスする方法を簡素化します。従来のAPIは汎用的であらゆるソフトウェアに対応しますが、AIのユースケースにおいてはカスタムの統合作業が増える傾向にあります。
  • 統合の簡素化:MCPは、AIを外部システムに接続するための専用コードの必要性を減らします。これは従来のAPIにおける一般的なハードルでした。

例えば、ArcBlockのプラットフォーム上で分散型マーケットプレイスを管理するために、AIGNEを使用してエージェントを作成したと想像してください。MCPを使用すれば、エージェントは在庫ツールを動的に発見し、リアルタイムの在庫データを取得し、出品情報を更新することができます。これらすべてが標準化されたプロトコルを通じて行われます。従来のAPIアプローチでは、複数のカスタム統合が必要となり、開発スピードが低下する可能性があります。

比較表:MCP vs. 従来のAPI

項目従来のAPIMCP(次世代APIプラットフォーム)
アーキテクチャモノリシック:ユーザーログイン、データ、決済などすべてを単一のユニットで処理する広大なシステム。マイクロサービス:ログイン用、決済用など、特定のタスクを処理する独立した小さなサービスの集合。
拡張性拡張が困難:一部のリソースだけが必要な場合でも、システム全体を同時に拡張する必要があります。容易な拡張:他の部分に影響を与えることなく、必要に応じて個別のサービスを拡張できます。
プロトコルSOAPなどの古い複雑なプロトコルを使用することが多く、動作が重く扱いにくい場合があります。RESTGraphQLなどのモダンなプロトコルを使用。軽量で高速、かつ使いやすいのが特徴です。
管理手動管理:開発者がセキュリティやルーティングなどのタスクを自分で行う必要があり、時間がかかります。APIゲートウェイによる自動化:セキュリティ、ルーティング、その他のタスクを自動で処理し、時間と労力を節約します。
柔軟性柔軟性が低い:変更がシステム全体に影響を与える可能性があるため、アップデートにはリスクが伴い、慎重な計画が必要です。高い柔軟性:他のサービスに影響を与えずに一つのサービスを更新できるため、変更が迅速かつ安全に行えます。
デプロイアプリケーション全体のデプロイが必要:軽微な更新であってもすべてを再デプロイする必要があり、ダウンタイムが発生する可能性があります。個別のサービスにアップデートをデプロイ:残りの部分に触れることなく一部を更新できるため、ダウンタイムを短縮できます。
障害隔離一つの障害がシステム全体に影響:一部が壊れると、API全体がダウンする可能性があります。障害が隔離される:一つのサービスが故障しても他のサービスは稼働し続けるため、広範囲な問題を防げます。

なぜMCPは「実質的にAPIの新バージョン」なのか(ひねりあり)

では、なぜMCPが単なるAPIの新バージョンと見なされるのでしょうか?私の見解では、MCPが馴染みのあるAPIの概念(システム間の接続)を取り入れ、それをAI時代に適応させたからです。それはSOAPをRESTが改善したのと同じような進化であり、AI機能をアプリケーションに統合するための、標準化された開発者フレンドリーな方法を提供します。従来のAPIもMCPもシステム間の架け橋となることを目指しており、MCPはその遺産を活用して、APIに精通した開発者にとって直感的な方法でAIをアクセシブルにしています。

しかし、この見方だけではMCPの重要性を過小評価しているかもしれません。MCPはAPIの表面を塗り替えただけではなく、APIフレームワークをAI中心の機能で強化した特化したプロトコルなのです。ArcBlockにとって、MCPをその分散型エコシステムに統合することは、AI駆動のdAppに、従来のAPIでは効率的に実現できなかったシームレスでリアルタイムなインタラクションを提供することを意味します。これは、相互運用可能な分散型ソリューションを構築するという彼らの目標に沿った戦略的な進化です。ArcBlockのAIGNE + MCPは、AIGNE Framework やエージェントなどがすべて飛躍的に強化されることを意味します。https://www.aigne.io にアクセスして、AIGNEノーコードAIアプリプラットフォームをぜひ体験してみてください。今後のMCPアップデートにもご注目ください。

音声による概要を聴く