MCP のアーキテクチャ
Model Context Protocol のアーキテクチャ
https://modelcontextprotocol.io/docs/learn/architecture より
MCP の構成要素
MCP はクライアント/サーバーアーキテクチャに沿っている
MCP ホスト (AI アプリ) が 1 つ以上の MCP サーバーとの接続を確立する
MCP ホストは、MCP サーバーごとに 1 つの MCP クライアントを作成する
https://gyazo.com/6cc088d53b5ccae0d7b33a7d37dea7ee
▲ https://modelcontextprotocol.io/docs/learn/architecture より
レイヤー
2 つのレイヤーから成る
データ層 (Data layer)
トランスポート層 (Transport layer)
データ層
JSON-RPC 2.0 ベース
トランスポート層
通信チャネルと認証を管理
2 つのトランスポート機構をサポートしている
標準トランスポート: 標準入出力を利用して、同じマシン上のローカルプロセス間の直接プロセス通信
Streamable HTTP トランスポート: HTTP POST を利用して、ストリーミング機能には Server-Sent Events を利用
データ層プロトコル
MCP はステートフルプロトコルなので、ライフサイクル管理が必要
MCP primitives
MCP の中で最も重要な概念
クライアントとサーバーが相互に提供できるものを定義
サーバーが公開できる 3 つのコア プリミティブ
ツール: AI アプリケーションがアクション (ファイル操作、API 呼び出し、データベース クエリなど) を実行するために呼び出すことができる実行可能関数
リソース: AI アプリケーションにコンテキスト情報を提供するデータ ソース (ファイル コンテンツ、データベース レコード、API 応答など)
プロンプト: 言語モデルとの対話構造化に役立つ再利用可能なテンプレート (システム プロンプト、少数ショットの例など)