INDIE INDEX

開発ツール

MCP とは|AI のアプリを外部のデータやツールにつなぐための取り決め

言葉の意味

MCP は Model Context Protocol(モデル・コンテキスト・プロトコル)の略です。これは、AI のアプリを外部の仕組みへつなぐための、公開された標準です。

つなぐ先として公式ドキュメントが挙げているのは3つです。手元のファイルやデータベースといった、情報のあるところ。検索や計算のように、何かを行わせるもの。そして、決まった手順や指示をひとまとめにしたものです。

公式ドキュメントは、これを、機器をつなぐ差込口にたとえています。差込口の形が決まっていれば、どの機器どうしでもつながるのと同じで、AI のアプリと外部の仕組みのつなぎ方を一つに決めるものだとしています。

必要になる理由

AI のアプリに何かをさせようとすると、つなぎたい相手の数だけ、つなぐための仕組みを作ることになります。相手が増えれば、その分だけ作る量も増えます。

つなぎ方を1つに決めておけば、片方を作れば、もう片方はその決まりに合わせるだけで済みます。この決まりは、作り手にとって開発の手間と複雑さを減らすものです。

公式の仕様は、この考え方を、プログラミング言語ごとの支援を開発のツール全体に行き渡らせる別の取り決めから着想を得たものだと書いています。

実際の使われ方

公式の仕様は、やり取りの形を JSON-RPC 2.0(決まった形の文字列で、相手に処理を頼むための取り決め)の書式にもとづくと定めています。

登場するのは3者です。

  • ホスト … つなぎを始める側のアプリ
  • クライアント … ホストの中に置かれる、つなぎの部品
  • サーバー … 情報と機能を差し出す側

差し出せるものは、向きごとに3つずつ決まっています。

向き 名前 中身
サーバー → クライアント Resources 情報そのもの
サーバー → クライアント Prompts 決まった手順や指示
サーバー → クライアント Tools 実行させる処理
クライアント → サーバー Sampling サーバーの側から AI に判断させる仕組み
クライアント → サーバー Roots 扱ってよい範囲の問い合わせ
クライアント → サーバー Elicitation 利用者への追加の問い合わせ

このほかに、設定、進み具合の知らせ、取り消し、誤りの報告、記録の仕組みが定められています。

関係する決まり

公式の仕様は、この取り決めが、任意のデータへの手が届き、任意の処理を実行させる道を開くものであることを書いています。そのうえで、実装する側が必ず向き合うべき安全と信頼の考え方を並べています。

  • 利用者の同意と制御 … 利用者は、すべてのデータの取り扱いと操作に、はっきりと同意し、それを理解していなければなりません。何を渡し、何を行わせるかを、利用者が握り続けていなければなりません
  • データの扱い … ホストは、利用者のデータをサーバーへ渡す前に、はっきりとした同意を得なければなりません。同意なく、ほかへ送ってはいけません
  • 処理の安全 … 実行させる処理は、任意のコードが動くものとして扱わなければなりません。その処理が何をするかの説明は、信頼できるサーバーから受け取ったものでない限り、信じてはいけないとされています。ホストは、処理を呼ぶ前に、はっきりとした同意を得なければなりません

仕様は、決まりの強さを表す英語の語を、すべて大文字で書いたときに限って、別に定められた意味で読むとしています。「必ずそうする」「そうすることが望ましい」「そうしてもよい」の3段が、この書き分けで示されます。

情報源

MCP が出てくるページ8

この言葉を定義している公式のページ

公式の定義

近くにある言葉

同じところで使うツール