Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MCPと認可まわりの話 / mcp_and_authorization

MCPと認可まわりの話 / mcp_and_authorization

LayerX ランチタイムLT「Bet AI for Learning」で喋りました
https://layerx.connpass.com/event/357961/

Avatar for convto

convto

July 24, 2025
Tweet

More Decks by convto

Other Decks in Technology

Transcript

  1. © LayerX Inc. 話すこと - ぼくのAIの使い⽅ ~仕様を読むとき~ - MCPの認可関連仕様 -

    トランスポート別の整理 - HTTP-based transport で OAuth 2.1 準拠で認可するときの概観 - AI x 認可むずくね - 感想、気持ち MCPと認可の話
  2. © LayerX Inc. 仕様読むときにAI利⽤!よくある困りごと MCPと認可の話 XXXについて仕様の概要をまとめて Model Context Protocol (MCP)の

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

    認可仕様は、OAuth 2.1に基づき、 クライアントが制限されたMCP サーバーに安全にアクセスする機 能を提供します。MCPサーバーは リソースサーバー、クライアント はOAuthクライアントとして機能 し、認証サーバーが発⾏するアク セストークンを利⽤します。... 仕様のサマリもらっても そりゃそうやろになって 役に⽴たないがち(主観)
  4. © LayerX Inc. 仕様読むときにAI利⽤!課題感 - セッション⻑くなってくると返答微妙になりがち - ピンポイントな質問を繰り返して、都度セッション作り直すのが⼿応えよい - ピンポイントな質問をするためには全体感を理解してる必要ありがち

    - 概要をわかってないと掘り下げる質問はできない - 概要の理解を促進するために「概要まとめて」とか雑に依頼すると、ふわふわしてて参考になら ない出⼒でがち MCPと認可の話
  5. © LayerX Inc. 仕様読むときにAI利⽤!概要を図で出⼒させるのがうまくいってる - 「概要を知りたい」と思ってるときに本当に知りたいことは、サマリじゃなくて構成要素の関係 性という説 - 技術仕様の⽂章などはとくに、結局詳細⾒ないとなのでシンプルなサマリはあまり役に⽴ たない(主観)

    - 僕の場合「前提知識はなにで、⽂章中の要素の関係性はどうなってるのか」がわかると仕 様読みやすい - 図でざっくり吐いてもらうというのを最近初⼿でやっていて、いい感じの⼿応えがある - 例: 「添付したMCPの認可やセキュリティに関するドキュメントのうち、それぞれのセクション で⾔及してる内容の関係性を50⾏前後くらいの mermaid のグラフにして!外部仕様への参照は 詳細不要です。添付ドキュメント内の要素の関係性のほうが重要なので、そちらを⼿厚くしたグ ラフにしてください!」 - 図の詳細さは「N⾏くらい〜」の指定でおおよそコントロールできる MCPと認可の話
  6. © 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] そのプロトコルのベストプラクティ スに従ってね
  7. © 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] そのプロトコルのベストプラクティ スに従ってね ここを⾒ていく
  8. © LayerX Inc. HTTP-based transport の認可 - 基本は OAuth 2.1

    準拠 - MCP server は OAuth 2.1 リソースサーバーとして振る舞うことになっている! - 認可サーバーは別でヨロという整理 - 全ては紹介しませんが、いくつかの仕様を MUST で実装する必要がある - シーケンスの概要を紹介します MCPと認可の話
  9. © LayerX Inc. ほかカットした話 - Security Best Practices の内容は⾯⽩かったので触れたかったが、LTなので断念 -

    とくに Confused Deputy Problem (混乱した代理⼈問題)は、MCP⾃⾝が別ツールの認可をとっ たりする複雑さに触れたもので⾯⽩いので、ぜひみてみてください! - https://modelcontextprotocol.io/specification/2025-06-18/basic/security_best_practices MCPと認可の話
  10. © LayerX Inc. MCPと認可の話 - ユーザーが操作できること / 与えた scope /

    AI Agent 動作に要求されること の3つの集合がある - どの範囲とるのが妥当やねん - ユーザーが操作できることは基本超えちゃいけないけど、それだとなんもできないんだけど!な ど まずシンプルに認可がむずい ユーザーが操作できること 与えた scope AI Agent 動作に 要求されること
  11. © LayerX Inc. この問題いままでもあったくね? - ざっくりいうと以下の問題 1. 意図通りリソース保護するために何を、どう認可するか 2. 認可を与えたアプリケーションが他のアプリと連携するときどう振る舞うべきか

    - これっていままでもあった問題じゃね - そう、外部にリソースを公開し適切に認可することは、それ⾃体が難しい - 適切なリソース保護をクリアしないと、なんでもやりうる AI Agent に触らせるのが難しい MCPと認可の話
  12. © LayerX Inc. 感想、気持ち - AI 時代、認可めっちゃ⼤事になってきた - AI Agent

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