MCPとは何か?(Model Context Protocol) - 入門ガイド
Model Context Protocol (MCP) は、LLM アプリケーションと外部データソースやツールの間のシームレスな統合を可能にするオープンプロトコルです。これは 2024 年 11 月 25 日に Anthropic によって発表されました。
USB との類似性
MCP は AI システムにおける『USB 規格』と考えることができます。USB が任意の USB デバイスを任意の USB ポートに接続できる普遍的なインターフェースを作り出し、デバイス固有のコネクタの必要性を排除したように、MCP は AI アプリケーションが様々なデータソースやツールと接続するための標準化された方法を作り出しています。
USB 以前は、各デバイスが独自の専用コネクタを必要としていました。同様に、MCP 以前は、開発者は AI アプリケーションとデータソースの各組み合わせに対してカスタム統合を作成する必要がありました。MCP は共通の『プラグアンドプレイ』プロトコルを確立し、MCP 互換のクライアントが MCP 互換のサーバーと連携できるようにすることで、統合の複雑さと開発時間を大幅に削減しています。
MCP の仕組み
アーキテクチャ
MCP はクライアント・サーバーアーキテクチャに従い、5 つの主要コンポーネントがあります:

- MCP ホスト:MCP を通じてデータにアクセスしたい AI ツール(チャットクライアント、IDE、エージェントなど)。
- MCP クライアント:サーバーと 1:1 の接続を維持するプロトコルクライアント。
- MCP サーバー:標準化された Model Context Protocol を通じて特定の機能を公開するプログラム。
- ローカルデータソース:情報を含むローカルデータベース、ファイル、サービス。
- リモートサービス:MCP サーバーが接続できる外部 API やサービス。
これを古典的な AI のユースケースであるテキスト to SQL で説明しましょう。テキスト to SQL は自然言語を SQL に変換します。MCP 以前の典型的な実装:

- SQL クライアントが対象データベースからスキーマを取得する
- SQL クライアントがスキーマを含むプロンプトを LLM に送信する
- LLM が SQL を返答する
- SQL クライアントが対象データベースに対して SQL を実行する
MCP がなければ、すべての SQL クライアントは対応するデータベースごとにこれを実装する必要があります。MCP があれば、SQL クライアントは MCP クライアントプロトコルを実装するだけでよく、各データベースベンダーは MCP サーバーを一度だけ実装すればよいのです。

本質的に、MCP というもう一段階の抽象化により、M×N 問題を M+N ソリューションに変換しています。
コアプリミティブ
MCP は MCP サーバーが提供する 3 つの基本的なプリミティブを中心に構築されています:
- Resources:参照および取得可能なデータオブジェクト。これには文書、画像、データベーススキーマ、その他の構造化データが含まれます。
- Prompts:特定のタスクやドメインに最適化された、言語モデルとの効果的な対話を生成するためのテンプレート。
- Tools:データベースの照会、API の呼び出し、データの処理などのアクションを実行するために言語モデルが実行できる関数。
テキスト to SQL の例に当てはめると:

MCP プリミティブ | テキスト to SQL の例 |
---|---|
Resources | データベースから取得したスキーマ情報 |
Prompts | モデルが正しい SQL を生成するのを助けるデータベースドメイン固有のプロンプト |
Tools | データベースに対して SQL コマンドを実行する |
主な利点
MCP は AI システム開発において以下のような重要な利点を提供します:
- 開発時間の短縮:開発者はデータソースやツールごとにカスタム統合を構築する代わりに、一般的なタスク用の既製 MCP サーバーを活用できます。
- 相互運用性の向上:MCP で構築されたアプリケーションは、互換性のあるツールやデータソースとシームレスに連携でき、真に組み合わせ可能なエコシステムを実現します。
- モジュール化:デバッグ、認証、監査、連鎖などの横断的な関心事を標準化して一度実装し、エコシステム全体で再利用できます。
技術的先駆者
MCP は他の領域で類似の問題を解決した以前の標準の成功を基盤としています:
- SQL:データベースとの対話を標準化する方法を作り出し、アプリケーションが SQL 互換のあらゆるデータベースで動作できるようにしました。
- Docker:アプリケーションのパッケージ化と展開を標準化し、アプリケーションを異なる環境で移植可能にしました。
- LSP(Language Server Protocol):名前の類似性は偶然ではありません。LSP はコード補完、構文ハイライト、エラーチェックなどの機能のために、コードエディタが異なるプログラミング言語サーバーと通信する方法を標準化しました。
これらの標準はすべて、クライアントを実装から分離する抽象化レイヤーを導入することで M×N 問題に取り組み、統合の複雑さを大幅に削減しました。
オープン性
有名な xkcd 927 のコミックは、新たな標準を作る際の課題を思い出させてくれます:

しかし、MCP は真のオープン性を示す有望な兆候を見せています。
MCP は Anthropic によって発明されましたが、彼らはそれを独立した組織 (github.com/modelcontextprotocol) の下に置き、独自のソリューションではなくオープンな標準にすることへのコミットメントを示しています。
執筆時点(2025 年 3 月 13 日)では、ワーキンググループには 5 人のメンバーがいます:

JetBrains の Alexander Sysoev 以外は全員 Anthropic で働いています。このバランスは、プロジェクトがまだ初期段階にあり、一つの組織からのコアチームが初期開発中に明確な方向性を提供するのに役立つため、理解できるものです。
将来の展望
MCP はまだ初期段階です。成功するプロトコルを作ることは市場を構築することに似ています――臨界質量に達するためには供給者と消費者の両方が必要です。
しかし、楽観的になる理由はあります。MCP エコシステムは最初の採用のハードルを乗り越えたようで、より多くのエージェント(MCP クライアント)が登場し、ドメイン固有のタスクを解決するための MCP サーバーの開発数も毎週増加しています。
技術的観点から見ると、MCP はコーディング領域で大きな成功を収めた LSP に非常に似ています。長期的には、MCP は SQL のように重要となり、AI ネイティブ時代の共通言語になる可能性があります。
注意: MCP サーバー開発者であれば、私の開発ノートも参考にしてください。