MCP入門:AIエージェントと外部ツールをつなぐプロトコルの仕組みと最新動向

最終更新:2026年2月13日|本記事はMCP公式仕様(2025-11-25版)に基づいて正確性を検証しています。
MCPとは何か:AIエージェントと外部ツールをつなぐ標準プロトコル

Model Context Protocol(MCP)は、Anthropicが2024年に公開したオープンプロトコルです。AIアプリケーションと外部のデータソースやツールを、標準的な方法で接続できます。よく「AIとツールをつなぐUSB-C」と表現される仕組みです。現在はLinux Foundationがホストするオープンソースプロジェクトとして運営されています。
2025年以降、Claude DesktopやVisual Studio Code、Cursor、Windsurfなど多くのAIアプリケーションがこのプロトコルに対応しました。その結果、エコシステムは急速に拡大しています。対応サーバーはGitHub、Slack、データベース、ファイルシステムなど多岐にわたります。そのため、開発者はこれらのツールをAIエージェントに簡単に接続できるようになりました。
この記事では、プロトコルの基本的な仕組みから、2025年後半に導入された最新のトランスポート層の進化まで解説します。すべての情報は公式仕様に基づいています。
クライアント・サーバーモデルの全体像
MCPはクライアント・サーバーアーキテクチャを採用しています。具体的には、AIアプリケーション(ホスト)が1つ以上のサーバーに接続する形です。それぞれの接続は、専用のクライアントによって管理されます。
アーキテクチャは2つの層で構成されています。まずデータ層はJSON-RPC 2.0ベースのプロトコルで、ツールの実行やリソースの取得を定義します。一方、トランスポート層はクライアントとサーバー間の通信チャネルを管理します。つまり、メッセージの配送を担当する部分です。
サーバーが提供できる主要な機能(プリミティブ)は3つあります。Tools(ツール)は、AIが呼び出せる実行可能な関数です。たとえばファイル操作やAPI呼び出しが該当します。Resources(リソース)は、AIにコンテキストを提供するデータソースです。さらにPrompts(プロンプト)は、LLMとの対話を構造化するテンプレートです。
トランスポート層の進化:Streamable HTTPの登場

トランスポート層は、2025年に大きな進化を遂げました。この変更は、開発者にとって最も実務的に重要なポイントです。
初期の仕様(2024-11-05版)では、リモートサーバーとの通信にHTTP+SSE方式が使われていました。しかし、この方式では複雑な手順が必要でした。具体的には、クライアントがGETリクエストでSSEストリームを開き、サーバーがエンドポイントURLを返し、その後のメッセージをPOSTで送信するという流れです。
最新の仕様では、この方式がStreamable HTTPに置き換えられました。新しい方式はよりシンプルです。単一のHTTPエンドポイントでPOSTとGETの両方を処理できます。したがって、クライアントはPOSTでJSON-RPCメッセージを送信し、サーバーは通常のJSONレスポンスまたはSSEストリームで応答できます。
この進化には大きなメリットがあります。まず、基本的なサーバーであればシンプルなHTTPのリクエスト・レスポンスだけで実装可能です。加えて、SSEは必要な場合だけ使えばよいのです。また、セッション管理が正式にサポートされました。さらに、SSEストリームの再接続と再配信も標準化されています。
リアルタイム通知の仕組みとメリット
このプロトコルには、ポーリングなしで変更を検知する仕組みが組み込まれています。それが通知(Notification)システムです。
たとえば、サーバーのツール一覧が変更された場合を考えましょう。サーバーは接続中のクライアントに対して notifications/tools/list_changed という通知メッセージを送信します。すると、クライアントはツール一覧を再取得して最新の状態を反映します。この仕組みはリソースやプロンプトにも適用されます。
重要なのは、クライアントがサーバーに繰り返し問い合わせる必要がない点です。つまり、変更時だけサーバーから通知が届くイベント駆動型の設計が実現されています。
日付ベースのバージョン管理
仕様バージョンについて、一つ大切なポイントがあります。このプロトコルは「1.0」「2.0」のような数値ベースのバージョン番号を使いません。代わりにYYYY-MM-DD形式の日付ベースで管理しています。
2026年2月現在、安定版は2025-11-25です。これが本番環境で使うべきバージョンになります。一方、開発中のドラフト版には、TasksやElicitationなど新しい機能が含まれています。
後方互換性を維持する変更であれば、バージョン番号は変わりません。したがって、破壊的変更があったときだけ新しい日付が発行されます。なお、ネット上で「MCP 2.0」という表記を見かけることがありますが、公式にはそのようなバージョンは存在しません。
実装を始めるための選択肢

実際に使い始めるには、いくつかの方法があります。最も手軽なのは、既存のサーバーを利用する方法です。公式リポジトリにはファイルシステム、GitHub、Google Drive、PostgreSQL、Slackなど、多数のリファレンス実装が公開されています。Claude DesktopやVS Codeなどの対応ホストアプリをインストールし、設定ファイルでサーバーを指定するだけで開始できます。
独自のサーバーを開発したい場合は、公式SDKが用意されています。対応言語はTypeScript、Python、Java、Kotlin、C#に加え、Go、PHP、Ruby、Rust、Swiftにも広がりました。そのため、ほとんどの開発環境でサーバーを構築できます。ローカル環境ならstdioトランスポート、リモート環境ならStreamable HTTPを選ぶのが基本です。
加えて、開発時にはMCP Inspectorというデバッグツールも活用できます。ブラウザ上でサーバーの動作を確認・テストでき、開発の効率を大幅に向上させてくれます。
まとめ:AIエージェント連携の未来
MCPは、AIエージェントが外部の世界と対話するための「共通言語」を提供しています。したがって、個別のツールごとにカスタム統合を書く必要はなくなりつつあります。共通プロトコルで接続する時代へと移行が進んでいるのです。
Streamable HTTPトランスポートの導入、通知システムによるリアルタイム更新、セッション管理の標準化など、仕様は着実に成熟しています。さらにドラフト版では、長時間タスクを管理するTasksやユーザー情報を取得するElicitationなど、新機能も提案されています。
まだ比較的新しいプロトコルですが、すでに107以上のクライアントアプリが対応しています。今後のAIエージェント開発における基盤技術になる可能性は高いです。ぜひ今のうちに基本を理解し、実際に試してみてください。
AIの活用に興味がある方は「AI自動化奮闘記」もあわせてご覧ください。






