Slide 1

Slide 1 text

© LayerX Inc. MCPと認可の話 バクラク事業部 Platform部 @convto DAY03 topic Bet AI for Learning Speaker

Slide 2

Slide 2 text

© LayerX Inc. MCPってなに?

Slide 3

Slide 3 text

© LayerX Inc. という話は時間がないのでしません

Slide 4

Slide 4 text

© LayerX Inc. 話すこと - ぼくのAIの使い⽅ ~仕様を読むとき~ - MCPの認可関連仕様 - トランスポート別の整理 - HTTP-based transport で OAuth 2.1 準拠で認可するときの概観 - AI x 認可むずくね - 感想、気持ち MCPと認可の話

Slide 5

Slide 5 text

© LayerX Inc. ぼくのAIの使い⽅ ~仕様を読むとき~

Slide 6

Slide 6 text

© LayerX Inc. 仕様読むときにAI利⽤!よくある困りごと MCPと認可の話 XXXの仕様について教えて はい、仕様に関連するドキュメント を確認します... ‧‧‧

Slide 7

Slide 7 text

© LayerX Inc. 仕様読むときにAI利⽤!よくある困りごと MCPと認可の話 ここのAってどういうこと? AはBです さっきAのことCって⾔ってなかった?

Slide 8

Slide 8 text

© LayerX Inc. 仕様読むときにAI利⽤!よくある困りごと MCPと認可の話 ここのAってどういうこと? AはBです さっきAのことCって⾔ってなかった? すみません、AはCでした ご指摘ありがとうございます ダラダラ話してると 受け答え怪しくなりがち

Slide 9

Slide 9 text

© LayerX Inc. 仕様読むときにAI利⽤!よくある困りごと MCPと認可の話 ダラダラ話すとアカンから ピンポイントで質問せな... とりあえずさっと⾃分で 読んでみるか... ‧‧‧

Slide 10

Slide 10 text

© LayerX Inc. 仕様読むときにAI利⽤!よくある困りごと MCPと認可の話 ⾃分で読んだら普通にわかったわ ~完~

Slide 11

Slide 11 text

© LayerX Inc. 仕様読むときにAI利⽤!よくある困りごと MCPと認可の話 ⾃分で読んだら普通にわかったわ ~完~ 適切な質問のためには ある程度の理解が 必要がち

Slide 12

Slide 12 text

© LayerX Inc. 仕様読むときにAI利⽤!よくある困りごと MCPと認可の話 概要をAIに出⼒して貰えば キャッチアップの参考になる のでは...?(名推理)

Slide 13

Slide 13 text

© LayerX Inc. 仕様読むときにAI利⽤!よくある困りごと MCPと認可の話 XXXについて仕様の概要をまとめて Model Context Protocol (MCP)の 認可仕様は、OAuth 2.1に基づき、 クライアントが制限されたMCP サーバーに安全にアクセスする機 能を提供します。MCPサーバーは リソースサーバー、クライアント はOAuthクライアントとして機能 し、認証サーバーが発⾏するアク セストークンを利⽤します。...

Slide 14

Slide 14 text

© LayerX Inc. 仕様読むときにAI利⽤!よくある困りごと MCPと認可の話 XXXについて仕様の概要をまとめて Model Context Protocol (MCP)の 認可仕様は、OAuth 2.1に基づき、 クライアントが制限されたMCP サーバーに安全にアクセスする機 能を提供します。MCPサーバーは リソースサーバー、クライアント はOAuthクライアントとして機能 し、認証サーバーが発⾏するアク セストークンを利⽤します。... 仕様のサマリもらっても そりゃそうやろになって 役に⽴たないがち(主観)

Slide 15

Slide 15 text

© LayerX Inc. 仕様読むときにAI利⽤!課題感 - セッション⻑くなってくると返答微妙になりがち - ピンポイントな質問を繰り返して、都度セッション作り直すのが⼿応えよい - ピンポイントな質問をするためには全体感を理解してる必要ありがち - 概要をわかってないと掘り下げる質問はできない - 概要の理解を促進するために「概要まとめて」とか雑に依頼すると、ふわふわしてて参考になら ない出⼒でがち MCPと認可の話

Slide 16

Slide 16 text

© LayerX Inc. 仕様読むときにAI利⽤!概要を図で出⼒させるのがうまくいってる - 「概要を知りたい」と思ってるときに本当に知りたいことは、サマリじゃなくて構成要素の関係 性という説 - 技術仕様の⽂章などはとくに、結局詳細⾒ないとなのでシンプルなサマリはあまり役に⽴ たない(主観) - 僕の場合「前提知識はなにで、⽂章中の要素の関係性はどうなってるのか」がわかると仕 様読みやすい - 図でざっくり吐いてもらうというのを最近初⼿でやっていて、いい感じの⼿応えがある - 例: 「添付したMCPの認可やセキュリティに関するドキュメントのうち、それぞれのセクション で⾔及してる内容の関係性を50⾏前後くらいの mermaid のグラフにして!外部仕様への参照は 詳細不要です。添付ドキュメント内の要素の関係性のほうが重要なので、そちらを⼿厚くしたグ ラフにしてください!」 - 図の詳細さは「N⾏くらい〜」の指定でおおよそコントロールできる MCPと認可の話

Slide 17

Slide 17 text

© LayerX Inc. MCPと認可の話

Slide 18

Slide 18 text

© LayerX Inc. MCPの認可関連仕様

Slide 19

Slide 19 text

© LayerX Inc. MCP認可関連仕様 (2025-06-18) - https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization に詳細がある - ⼤事そうなところをざっくりまとめる MCPと認可の話

Slide 20

Slide 20 text

© LayerX Inc. プロトコルごとの整理 - そもそも認可⾃体 Optional - その上で HTTP-based transport / STDIO transport / その他 でざっと分けて⾔及してる - やるなら以下の雰囲気でやれよという感じ MCPと認可の話 トランスポート種別 認可 HTTP-based [SHOULD] MCP spec のドキュメントに 従ってね(基本 OAuth2.1 + MCP側のいく つかの仕様) STDIO [SHOULD NOT] MCP spec に言及ある内 容 ではなく env から取得してね alternative transports [MUST] そのプロトコルのベストプラクティ スに従ってね

Slide 21

Slide 21 text

© LayerX Inc. プロトコルごとの整理 - そもそも認可⾃体 Optional - その上で HTTP-based transport / STDIO transport / その他 でざっと分けて⾔及してる - やるなら以下の雰囲気でやれよという感じ MCPと認可の話 トランスポート種別 認可 HTTP-based [SHOULD] MCP spec のドキュメントに 従ってね(基本 OAuth2.1 + MCP側のいく つかの仕様) STDIO [SHOULD NOT] MCP spec に言及ある内 容 ではなく env から取得してね alternative transports [MUST] そのプロトコルのベストプラクティ スに従ってね ここを⾒ていく

Slide 22

Slide 22 text

© LayerX Inc. HTTP-based transport の認可 - 基本は OAuth 2.1 準拠 - MCP server は OAuth 2.1 リソースサーバーとして振る舞うことになっている! - 認可サーバーは別でヨロという整理 - 全ては紹介しませんが、いくつかの仕様を MUST で実装する必要がある - シーケンスの概要を紹介します MCPと認可の話

Slide 23

Slide 23 text

© LayerX Inc. MCPと認可の話 https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization より引⽤

Slide 24

Slide 24 text

© LayerX Inc. MCPと認可の話 RFC 9728 Protected Resource Metadata https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization より引⽤

Slide 25

Slide 25 text

© LayerX Inc. MCPと認可の話 https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization より引⽤

Slide 26

Slide 26 text

© LayerX Inc. ほかカットした話 - Security Best Practices の内容は⾯⽩かったので触れたかったが、LTなので断念 - とくに Confused Deputy Problem (混乱した代理⼈問題)は、MCP⾃⾝が別ツールの認可をとっ たりする複雑さに触れたもので⾯⽩いので、ぜひみてみてください! - https://modelcontextprotocol.io/specification/2025-06-18/basic/security_best_practices MCPと認可の話

Slide 27

Slide 27 text

© LayerX Inc. AI x 認可むずくね?

Slide 28

Slide 28 text

© LayerX Inc. MCPと認可の話 - ユーザーが操作できること / 与えた scope / AI Agent 動作に要求されること の3つの集合がある - どの範囲とるのが妥当やねん - ユーザーが操作できることは基本超えちゃいけないけど、それだとなんもできないんだけど!な ど まずシンプルに認可がむずい ユーザーが操作できること 与えた scope AI Agent 動作に 要求されること

Slide 29

Slide 29 text

© LayerX Inc. 相互に接続したりして⾯倒 - MCP の裏に別のリソースがありうるので、こういうグラフもありうる - それぞれの接点で個別に認可を⾏うので、同じリソースでも経路によって当たる認可の内容が異 なることもありうる MCPと認可の話 MCP Client MCP Server A MCP Server B Resource A Resource B

Slide 30

Slide 30 text

© LayerX Inc. この問題いままでもあったくね? - ざっくりいうと以下の問題 1. 意図通りリソース保護するために何を、どう認可するか 2. 認可を与えたアプリケーションが他のアプリと連携するときどう振る舞うべきか - これっていままでもあった問題じゃね - そう、外部にリソースを公開し適切に認可することは、それ⾃体が難しい - 適切なリソース保護をクリアしないと、なんでもやりうる AI Agent に触らせるのが難しい MCPと認可の話

Slide 31

Slide 31 text

© LayerX Inc. 感想、気持ち

Slide 32

Slide 32 text

© LayerX Inc. 感想、気持ち - AI 時代、認可めっちゃ⼤事になってきた - AI Agent などの登場により、いままでより簡単に既存リソースが利⽤できるようになった - 1st party / 3rd party ともにリソース利⽤が加速していく - それを⽀える素地としての適切な認可、安全なリソース保護のしくみは⼀層価値をまして いるように感じる - 適切に保護した上でリソースをどんどん利⽤しやすくていきたい!! - AI Agent x リソースの安全な再利⽤の組み合わせにより多くの業務を効率化できる可能性 - 基盤やさんとしてできる仕事のうち、お客様への価値提供にめちゃめちゃつながる領域な のではないか! MCPと認可の話

Slide 33

Slide 33 text

© LayerX Inc. こんな感じの話をもっと聞きたい⼈は

Slide 34

Slide 34 text

© LayerX Inc. 2025年8月1日 13:00−18:30 オンライン配信 https://layerx.co.jp/events/2025/bet-ai-day ご登録はこちら

Slide 35

Slide 35 text

© LayerX Inc. - 当⽇オフィスをうろついているので声かけてください - X DM なりも歓迎です! x.com/convto Bet AI Day で僕と握⼿! MCPと認可の話

Slide 36

Slide 36 text

© LayerX Inc. ご清聴ありがとうございました