一次情報読解 AI原典ノート
RSS 保存
2026-06-21 / OpenAI / OpenAI / Data Governance / OpenAI導入前に読む保持境界 2026-06-21 / Model Context Protocol / MCP / Authorization / MCP社内導入前に読む権限統制 2026-06-21 / Hugging Face / Open-source / Agent Architecture / agent設計前に読む実行責任 2026-06-21 / Anthropic / Claude Code / Settings / Claude Code導入前に読む秘密境界 2026-06-21 / Anthropic / Managed Agents / Configuration / managed agent導入前に読む設定資産化 2026-06-21 / Anthropic / Managed Agents / Outcome Evaluation / managed agent運用前に読む完了判定 2026-06-21 / Model Context Protocol / MCP / Security / remote MCP導入前に読む認可境界 2026-06-21 / Google AI for Developers / Models / Release Channel Policy / 本番運用前に読む model 固定 2026-06-21 / Model Context Protocol / MCP / Debug Workflow / MCP導入前に読む検査手順 2026-06-21 / OpenAI / Tools / Function Calling / 外部処理接続前に読む責務分界 2026-06-21 / Anthropic / Coding Agents / Permissions / repo運用前に読む権限設計 2026-06-21 / Google AI for Developers / Retrieval / Embeddings / 検索基盤導入前に読む意味検索の基礎 2026-06-21 / OpenAI / Retrieval / Managed File Search / 文書検索導入前に読む責務分界 2026-06-21 / Anthropic / Coding Agents / Hooks / repo運用前に読む強制境界 2026-06-21 / OpenAI / Agents / Sandbox Execution / agent実装前に読む実行境界 2026-06-21 / Anthropic / Evals / Infrastructure Noise / 評価導入前に読む infra 交絡 2026-06-21 / OpenAI / State / Conversations / 長期運用前に読む state 設計 2026-06-21 / Model Context Protocol / Specification / Resources / MCP導入前に読む参照面仕様 2026-06-21 / Google AI for Developers / Credentials / Migration / 本番前に読む鍵運用変更 2026-06-21 / OpenAI / Prompting / Migration / 本番前に読む prompt 運用変更 2026-06-21 / OpenAI / Identity / Credentials / 運用前に読む認証境界 2026-06-21 / OpenAI / Safety / Moderation / 本番前に読む制御順序 2026-06-21 / Google AI for Developers / Migration guide / Schema / 移行前に読む破壊的変更 2026-06-21 / OpenAI / Connectivity / MCP / MCP接続前に読む境界設計 2026-06-21 / OpenAI / Responses API / Job Control / 実装前に読む非同期設計 2026-06-21 / Model Context Protocol / Specification / Permission Boundary / MCP導入前に読む境界仕様 2026-06-21 / Google AI for Developers / Managed Agent / Security / 導入前に読む境界設計 2026-06-21 / Anthropic / Security / Engineering / 運用前に読む安全設計 2026-06-21 / OpenAI / Realtime API / Voice / 本日読むべきAPI更新 2026-06-21 / OpenAI / API / Agent / まず読むべき原典 2026-06-21 / Anthropic / Postmortem / 実装に効くニュース 2026-06-21 / Google AI for Developers / Release notes / モデル・API更新 2026-06-21 / Hugging Face / Open-source / Tutorial / 今週試したい開発者ツール 2026-06-21 / Model Context Protocol / Specification / Architecture / 英日AI用語集
MCP導入前に読む境界仕様 Specification / Permission Boundary Model Context Protocol 2026-06-11

MCP Roots は「tool 接続規格」ではなく permission 境界の primitive

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

要点

要点まとめ

  1. MCP Roots は、AI agent に『このフォルダだけ見てよい』と伝えるための標準的な境界表現だ。
  2. 重要なのは tool 接続そのものではなく、server が見てよい workspace 範囲を protocol の中で共有できる点にある。
  3. そのため client は見せる作業領域を先に出し、server はその外を前提にしない設計を取りやすくなる。
  4. 技術的には client が `roots` capability を宣言し、server が `roots/list` で一覧を取得し、必要なら `notifications/roots/list_changed` で変更通知を受ける。
読解

何が変わったのか

MCP を『tool を呼べる共通接続規格』とだけ捉えると、関心は schema や transport に寄りがちです。Roots spec はそこへ別の軸を足します。client は filesystem roots を expose し、server は `roots/list` で一覧を取得し、client が対応していれば `listChanged` で変化通知まで受けられます。つまり MCP は、tool を増やす規格であると同時に、見せる作業領域を制御する規格でもあります。

日本の文脈

なぜ重要か

日本の社内導入では、agent が『どこまで見えるのか』が承認の最初の停止点になりやすいです。MCP の説明が tool use だけだと、その問いに答えられません。Roots を理解していれば、『server が万能に見える設計』ではなく『client が選んだ roots の範囲内で動く設計』へ話を進められます。開発者にとっても、multi-repo workspace、途中での root 追加、server ごとの閲覧範囲差分、list 変更時の再同期を protocol 上の概念として整理できます。

技術ポイント

技術的ポイント

  1. Roots は filesystem roots を server に公開する標準方式で、server がどの directories/files にアクセスできるかの境界を伝える。
  2. root 対応 client は initialization 時に `roots` capability を宣言し、`listChanged` が true なら root 変更通知も送る。
  3. server は `roots/list` request で root 一覧を取得し、結果は `file://` URI と任意の表示名 `name` を含む。
  4. root 変更時は `notifications/roots/list_changed` を送る。server 側には『workspace が変わったら再評価する』責務が発生する。
  5. spec は roots 未対応 client に対して JSON-RPC error `-32601` を返す例も示している。対応有無を capability で確認する実装が必要。
用語

英日キーワード

英語日本語補足
roots ルーツ / 作業領域境界 MCP server に見せる filesystem の起点。tool 接続より前に permission 範囲を決める primitive。
filesystem boundary ファイルシステム境界 どこまで読めるか、触れるかの範囲。agent や MCP server の permission 設計で最初に決める境界。
workspace picker ワークスペース選択UI どの repo やフォルダを root にするか選ぶ UI。Roots と結びつく実装上の入口。
trust boundary 信頼境界 どこから先を未信頼入力として扱うかの境目。ローカル設定や起動時フックも trust 前なら未信頼として扱う。
MCP Model Context Protocol AI アプリが外部ツールやデータ源に接続するためのプロトコル。ツールだけでなく resources / prompts も含む。
試す

試すなら

  1. 自分の MCP client / host で、server に repo 全体を見せている箇所がないか確認し、root 単位で絞れる設計へ寄せる。
  2. workspace picker や project selector があるなら、その UI 操作を `roots/list` と `list_changed` にどう対応づけるか決める。
  3. multi-repo 利用時は root を複数返す設計にし、server 側で『見えていない repo を前提にしない』検証を入れる。
  4. root 変更後に server cache や index をどう再同期するか、通知受信からの再読込手順を確認する。
注意

注意点

  • Roots は permission boundary を表すが、それだけで OS 権限や sandbox が成立するわけではない。実ファイルアクセス制御は別層で必要。
  • spec は `file://` URI 前提で、クラウド storage や仮想 workspace を直接一般化しているわけではない。拡張時は解釈を慎重にすべき。
  • listChanged 対応を入れても、server 側が古い root 前提の cache を保持したままだと境界逸脱が起こりうる。
関連原典

関連原典

原典を開く