Zenn Dev Akasara Articles 5a089bf8294d27
MCP(Model Context Protocol)最新仕様まとめ — OAuth 2.1認可フローとAPI Gateway連携の実践例
- URL: https://zenn.dev/akasara/articles/5a089bf8294d27
- 日付: 2026-06-26
- Tier: Tier 3
- 要旨: MCP(Model Context Protocol)の2025-11-25版仕様の概要・OAuth 2.1認可フロー・Azure API Managementを使った実践構成を体系的に整理した記事。2025-11-25版ではTasks(非同期タスク)・Sampling with Tools・OIDC Discovery 1.0必須サポート・CIMD(クライアント登録の新推奨方式)・Extensionsフレームワークが追加された。2025年6月版以降でMCPサーバーはリソースサーバー専任に分離されOAuth 2.1の役割分担が明確化しており、エンタープライズ向けにはCross App Access(SEP-990)で企業IdPが接続を可視化・制御できる拡張も加わった。月間SDK DL数は約9,700万回、MCPサーバー数は16,000以上と普及は急速に進んでいる。
詳細
- MCPの基本: JSON-RPC 2.0ベース。Tools/Resources/Promptsの3概念。Host→Client→Serverの3層アーキテクチャ
- 仕様変遷: 2025-03-26(OAuth 2.1初期導入・Streamable HTTP)→2025-06-18(MCPサーバーをResource Server専任に分離・RFC 8707必須)→2025-11-25(Tasks実験的・OIDC Discovery必須・CIMD・Extensions)
- 2025-11-25版主な変更:
- Tasks(SEP-1686、実験的): 長時間リクエストの状態追跡・ポーリング非同期プリミティブ
- Sampling with Tools(SEP-1577): サーバーがサンプリングリクエストにツール定義を含め、server-side agent loopが可能に
- CIMD(SEP-991): DCRに代わる推奨クライアント登録方式
- Cross App Access/XAA(SEP-990): エンタープライズIdPがMCP Client⇔Server接続を可視化・制御(オプション拡張)
- PRMディスカバリー(SEP-985): WWW-Authenticateヘッダーはオプション化、.well-knownへのフォールバックが標準
- OAuth 2.1のロール対応: MCP Client=OAuth Client、MCP Server=Resource Server、外部IdP=Authorization Server
- セキュリティ要件: PKCE必須(S256推奨)、Token Audience Validation(RFC 8707)、トークンパススルー禁止(Confused Deputy攻撃防止)、リダイレクトURIはlocalhost/HTTPSのみ
- Azure APIM実践構成: APIM=OAuth Resource Server兼PRM提供、Entra ID=AS/IdP、Azure Functions=MCPサーバー(セキュリティコードなし)。APIMでAuthorizationヘッダーを削除しclaimをカスタムヘッダーに変換して転送
- 採用状況: SDK月間DL数約9,700万回(Python+TypeScript)、MCPサーバー数16,000以上、対応クライアント: Claude・ChatGPT・Cursor・Gemini API/SDK・GitHub Copilot・VS Code