メインコンテンツへスキップ
エンジニアリングMar 28, 2026

MCPがAI統合のUSB-Cになった経緯 — 技術的ディープダイブ

OS
Open Soft Team

Engineering Team

N x M統合問題

Model Context Protocolが存在する前、AIモデルを外部ツールに接続することは組み合わせ爆発の作業でした。すべてのAIアプリケーション(Claude、GPT、Gemini、Copilot)は、すべてのツール(Slack、Jira、GitHub、データベース、API)に対してカスタム統合が必要でした。M個のAIアプリケーションとN個のツールでは、業界はM x N個のカスタムアダプタが必要でした。それぞれに独自の認証フロー、データフォーマット、エラー処理、メンテナンスの負担がありました。

規模を考えてみてください。2025年までに、約20の主要なAIアプリケーションプラットフォームと数百のエンタープライズツールが存在しました。この計算は持続不可能でした。新しいAIプラットフォームはすべて、統合をゼロから構築する必要がありました。新しいツールはすべて、すべてのAIプラットフォーム向けにアダプタを書く必要がありました。これは、USB以前にハードウェア業界が直面したのと同じ問題です。すべてのデバイスが独自のコネクタを持ち、すべてのコンピュータが異なるポートを必要としていました。

MCPは、USB-Cがコネクタの問題を解決したのと同じ方法でこれを解決します:インターフェースの標準化。MCPでは、すべてのAIアプリケーションが1つのMCP clientを実装し、すべてのツールが1つのMCP serverを実装します。M x N問題がM + Nになります。1つのプロトコル、ユニバーサルな互換性。

プロトコルアーキテクチャ:JSON-RPC、Capabilities、3つのプリミティブ

MCPはJSON-RPC 2.0の上に構築されています。これは、すべての最新コードエディタを動かすLanguage Server Protocol(LSP)と同じ軽量RPCプロトコルです。これは意図的な設計選択でした。JSON-RPCはシンプルで、よく理解されており、言語に依存せず、実戦でテスト済みです。

機能ネゴシエーション

MCPの接続はinitializeハンドシェイクから始まり、clientとserverが相互に機能を宣言します。これにより、プロトコルのグレースフルな進化が可能になります。新しい機能は新しいcapabilityフラグとして追加でき、古いclientやserverは不明なcapabilityを無視できます。

3つのプリミティブ

MCPは3つのコアプリミティブを定義しています:

  1. Tools:AIモデルが呼び出す関数。tools/listで発見し、tools/callで実行します。各ツールにはJSON Schemaで定義された名前、説明、入力スキーマがあります。

  2. Resources:AIモデルが読み取るデータ。URIで識別され、resources/readで取得します。ファイル、データベースレコード、API応答などを含みます。

  3. Prompts:サーバーが提供する再利用可能なプロンプトテンプレート。prompts/listで発見し、prompts/getで取得します。AIがサーバーのドメイン固有タスクに効果的にアプローチする方法を標準化します。

Function CallingおよびOpenAPIとの比較

MCPの位置づけを理解するために、2つの主要な代替手段と比較しましょう。

MCP vs Function Calling

Function calling(OpenAI、Anthropicなどが使用)は、各APIリクエストにインラインでツール定義を埋め込みます。開発者はJSON Schemaとしてツールを記述し、LLMが呼び出すツールとパラメータを選択します。

側面Function CallingMCP
ツール定義APIリクエストにインライン外部サーバーで定義
発見なし(開発者が提供)動的(tools/listで発見)
状態ステートレス(リクエストごと)ステートフル(セッションベース)
トランスポートHTTPS API呼び出しstdio、SSE、Streamable HTTP
標準化ベンダー固有オープンスタンダード
複数ツール手動オーケストレーションプロトコルネイティブ

MCP vs OpenAPI

OpenAPI(旧Swagger)はREST APIを記述する仕様です。AIが直接OpenAPI仕様を読み、API呼び出しを生成することも可能ですが、いくつかの重要な違いがあります。

側面OpenAPIMCP
目的REST API文書化AI-ツール通信
AI最適化なし(汎用)AI相互作用向けに設計
セッション管理なし組み込み
型安全性JSON SchemaJSON Schema + 実行時検証
リソースモデルURL + HTTPメソッドURI + リソースタイプ

採用タイムライン

MCPの進化を追ってみましょう:

  • 2024年11月:AnthropicがMCPをオープンソースとしてリリース。初期バージョンはstdioトランスポートのみ。
  • 2025年Q1:Claude Desktop、Cursor、WindsurfがMCPサポートを統合。開発者コミュニティが急速に拡大。
  • 2025年Q2:SSEトランスポートが追加。リモートMCPサーバーが実用化。
  • 2025年Q3:OpenAIがMCPサポートを発表。Google DeepMindがGeminiにMCP clientを統合。
  • 2025年Q4:Streamable HTTPトランスポートがリリース。エンタープライズ採用が加速。
  • 2026年Q1:MicrosoftがCopilotプラットフォームにMCPを採用。MCP Registry(公式サーバーカタログ)がローンチ。
  • 2026年Q2:MCPが事実上のAIツール通信標準に。1,000以上の公式サーバーがRegistryに登録。

エージェント間通信の未来

MCPの次の進化は、エージェント間(A2A)通信です。現在のMCPはAIアプリケーション(host)と外部ツール(server)間の通信を定義していますが、AIエージェント同士が直接通信する機能はまだ初期段階です。

将来のビジョン:

  • エージェントがMCPサーバーを公開:各AIエージェントが独自のMCPサーバーを持ち、他のエージェントが利用可能なツールとして発見・呼び出し可能
  • マルチエージェントオーケストレーション:MCPゲートウェイが複数のエージェント間のタスク委任とデータフローを管理
  • 標準化された委任プロトコル:エージェントが複雑なタスクをサブタスクに分解し、専門化されたエージェントに委任する標準的な方法

FAQ

Q:MCPはLSP(Language Server Protocol)と関係がありますか? A:はい。MCPはLSPからインスピレーションを受けています。両方ともJSON-RPC 2.0を使用し、capability negotiationパターンを使用し、client-serverアーキテクチャに従います。LSPがコードエディタをプログラミング言語サポートから分離したように、MCPはAIアプリケーションをツール統合から分離します。

Q:MCPサーバーを公開する際のセキュリティリスクは? A:主なリスクには、認証バイパス、ツールの不正使用、データ漏洩、サービス拒否があります。OAuth 2.0認証の使用、入力バリデーション、レート制限、ツールレベルの認可、すべてのツール呼び出しの監査ログが対策として不可欠です。

Q:既存のREST APIをMCPサーバーに変換できますか? A:はい。各APIエンドポイントをMCPツールとしてラップするのが一般的なパターンです。OpenAPI仕様からMCPサーバーを自動生成するツールも利用可能です。

Q:MCPのパフォーマンスオーバーヘッドはどの程度ですか? A:JSON-RPCプロトコルのオーバーヘッドは最小限です。stdioトランスポートではマイクロ秒、HTTPトランスポートでは通常のHTTPリクエストと同等です。ボトルネックは通常、ツールの実行自体(データベースクエリ、API呼び出し)にあります。

Q:MCPメッセージにサイズ制限はありますか? A:プロトコル自体にサイズ制限はありません。実際の制限はトランスポートとインフラストラクチャに依存します。本番デプロイメントでは、個々のツールレスポンスを10 MB以下に保ち、大きなデータセットにはページネーションまたはストリーミングを使用してください。

タグ