コンテンツにスキップ
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