一次情報読解 AI原典ノート
RSS 保存
今日の更新 2026-07-12 - Anthropic: Claude 429 誤診前に読む failure-mode runbook / OpenAPI Initiative: agent tool 接続前に読む interface contract / arXiv: shared inference 導入前に読む KV cache privacy boundary
今日読むポイント MCP導入前に読む参照面仕様 Model Context Protocol 2026-06-13

MCP Resources は「全部 tool にする雑設計」をやめるための基礎仕様

このノートは原文の代替ではありません。読むべきポイントと実装上の意味を整理し、原典への入口を示します。

要点

要点まとめ

  1. MCP Resources は、AI agent に読ませる資料と、実際に実行させる操作を分けるための仕様である。
  2. 要は「文書を読む入口」と「何かを実行する入口」を別にし、参照情報まで全部 tool に詰め込まないようにする面だ。
  3. そのための仕組みとして、一覧を見る、本文を読む、条件付きで資料を組み立てる、更新を知らせる、といった面が protocol に定義されている。
  4. 日本で起きやすい『FAQ も schema も全部 tool』にする雑設計を、権限、UI、キャッシュ、監査の観点から引き上げる基礎仕様として読める。
続けて読む

読み終えたら次へ

この1本で終わらせず、同じ目的・同じテーマ・近い原典へ進めます。

読解

何が変わったのか

この仕様は、MCP を tool execution の規格としてだけ理解していた読み方を崩します。server は `resources` capability を宣言し、client は `resources/list` で使える resource を発見し、`resources/read` で中身を読む。さらに `resources/templates/list` では条件で組み立てる資料の型も公開でき、`listChanged` や `resources/subscribe` により変化通知も扱えます。つまり MCP は command catalog だけでなく、context catalog とその更新面まで含む規格だと分かります。

日本の文脈

なぜ重要か

日本の開発現場では、function calling 的な理解の延長で『見せたい情報も全部 tool にしてしまう』設計が起きやすいです。しかしその形だと、read-only 情報にまで実行権限や副作用の匂いが付き、UI での選択、キャッシュ、監査ログ、優先度付けがやりにくい。Resources を理解すると、『agent に何を読ませ、何を実行させるか』を protocol レベルで分けて考えられます。PM や導入担当にとっても、tool 数ではなく context surface を説明できる点が大きいです。

技術ポイント

技術的ポイント

  1. `resources` capability は server が resource 面を持つことを示し、`subscribe` と `listChanged` は任意機能だ。つまり更新追跡なしの静的 resource server も作れる。
  2. `resources/list` は resource の URI、name、任意の title、description、mimeType、size などを返す。resource は URI で一意に識別される。
  3. `resources/read` は text だけでなく binary content も返せる。したがって schema や markdown だけでなく画像やバイナリ資産も対象になりうる。
  4. resource templates は、URI template を使って条件付きで資料を取り出す仕組みで、固定ファイル列挙だけが resource ではない。
  5. annotations は resource に付ける補助メタデータで、`audience`、`priority`、`lastModified` などを使って client が見せ方を判断できる。
用語

英日キーワード

英語日本語補足
resources リソース / 参照コンテキスト モデル理解の材料になる共有データ。tool と分けて扱うことで read-only 文脈と action を分離できる。
resources/list リソース一覧取得 利用可能 resource を発見する request。client がどの参照面を見せるかを制御する入口になる。
resources/read リソース読取 指定 URI の内容を取得する request。text だけでなく binary content も対象になりうる。
resource templates リソーステンプレート パラメータ付き resource を公開する仕組み。固定ファイル列挙ではない context surface を表現できる。
read-only context 読み取り専用コンテキスト action ではなく参照目的の情報面。resources を全部 tool に押し込めないための整理軸。
MCP Model Context Protocol AI アプリが外部ツールやデータ源に接続するためのプロトコル。ツールだけでなく resources / prompts も含む。
試す

試すなら

  1. 自分の MCP server で返している tool 一覧を見て、『実行』ではなく『参照』だけのものを分離候補として洗い出す。
  2. FAQ、schema、policy、repo docs のような read-heavy 情報は resource 化し、更新頻度が高いなら `listChanged` や subscription が必要か考える。
  3. URI 命名を先に決める。`file://`、`git://`、独自 scheme のどれを使うかで、client 表示や cache 設計が変わる。
  4. resource を増やす時は、tool と違って『自動で model に入れるか』『ユーザーに選ばせるか』という UI 判断も同時に設計する。
注意

注意点

  • Resources は read-only 文脈に向くが、仕様自体が OS 権限や sandbox を保証するわけではない。実アクセス制御は別層で必要。
  • 公開日は spec version 2025-06-18 を採用しているが、個別ページに別の公開日表示は見当たらなかった。
  • どの resource を自動投入するかは protocol では決まらない。client 実装次第なので、resource を定義しただけで適切に使われるとは限らない。
関連原典

関連原典

原典を開く