MCP
正式名称
Model Context Protocol
- Model … AIのモデル
- Context … 文脈。モデルに渡す情報
- Protocol … 手順の決まり
**「モデルに文脈を渡すための手順の決まり」**という成り立ちの名前です。
MCP(Model Context Protocol)とは、AIアプリケーションを外部のシステムに接続するためのオープンソースの標準である
— Model Context Protocol「What is MCP?」より和訳
何につなぐのか
公式ドキュメントは、つなぎ先を3種類挙げています。
MCPを使うと、ClaudeやChatGPTのようなAIアプリケーションが、データ源(ローカルファイルやデータベースなど)、ツール(検索エンジンや計算機など)、作業手順(専用のプロンプトなど)に接続できる
— Model Context Protocol「What is MCP?」より和訳
| つなぎ先 | 例(公式ドキュメントの記述) | | --- | --- | | データ源 | ローカルファイル、データベース | | ツール | 検索エンジン、計算機 | | 作業手順 | 専用のプロンプト |
たとえは公式が出しています
MCPは、AIアプリケーションにとってのUSB-Cの差込口のようなものだと考えるとよい
— Model Context Protocol「What is MCP?」より和訳
USB-Cが電子機器を接続する標準的な方法を与えるのと同じように、MCPはAIアプリケーションを外部のシステムに接続する標準的な方法を与える
— Model Context Protocol「What is MCP?」より和訳
このたとえは筆者の創作ではなく、公式ドキュメントのものです。 差込口の形を揃えておけば、つなぐ相手が変わっても作り直さなくてよい、という話です。
何をしないか
ここが一番誤解されます。MCPはAIの動かし方を決めるものではありません。
MCPは、文脈のやりとりのための手順だけに焦点を置いている
— Model Context Protocol「Architecture」より和訳
AIアプリケーションがLLMをどう使うか、渡された文脈をどう管理するかについては、MCPは指示しない
— Model Context Protocol「Architecture」より和訳
つまり接続の規格であって、LLMの使い方やコンテキストウィンドウの管理方法は各アプリケーションの裁量です。 「MCPに対応したから賢くなる」ではありません。
3者の関係
公式ドキュメントは、登場するものを3つに分けています。
MCPはクライアント・サーバ型の構成をとる
— Model Context Protocol「Architecture」より和訳
- ホスト … Claude Code や Claude Desktop のようなAIアプリケーション本体
- クライアント … ホストがサーバごとに作る接続の窓口
- サーバ … つなぎ先を提供する側
MCPホストは、MCPサーバ1つにつき1つのMCPクライアントを作ることでこれを行う
— Model Context Protocol「Architecture」より和訳
それぞれのMCPクライアントは、対応するMCPサーバとの専用の接続を保つ
— Model Context Protocol「Architecture」より和訳
「サーバ」という語に引っかからないでください。 手元のPCで動くものも含みます。
STDIO を使うローカルのMCPサーバは通常1つのMCPクライアントに対応し、一方で Streamable HTTP を使うリモートのMCPサーバは通常多数のMCPクライアントに対応する
— Model Context Protocol「Architecture」より和訳
サーバが提供できる3つのもの
公式ドキュメントの説明をそのまま並べます。
| 名前 | 公式ドキュメントの説明(和訳) | | --- | --- | | ツール | AIモデルが行動を起こせるようにするもの | | リソース | AIアプリケーションが取得してモデルに文脈として渡せる情報への、構造化されたアクセスを提供する | | プロンプト | 再利用できるひな形を提供する |
「ツール」だけが行動を伴います。 リソースは読む側、プロンプトはひな形です。 権限や安全性を考えるときは、この3つを分けて見ることになります。
中身の作り
MCPは2つの層から成る
— Model Context Protocol「Architecture」より和訳
データ層は、メッセージの構造と意味を定める JSON-RPC 2.0 ベースの交換手順を実装する
— Model Context Protocol「Architecture」より和訳
概念としては、データ層が内側の層で、トランスポート層が外側の層にあたる
— Model Context Protocol「Architecture」より和訳
特別な通信方式を発明したものではなく、JSON-RPC 2.0 の上に載っています。
こう言えば一度で済む
こう言うと伝わらない 「MCPに対応させてください」
こう言えば一度で済む 「社内の案件管理DBを、Claude から読めるようにしたいです。書き込みはさせたくないので、読み取りだけにできますか」
後者なら、相手はリソースとして出すのか、ツールとして出すのかを判断できます。 この区別が権限の設計に直結します。