MCPで認証が重要な理由
- 安全で統制されたアクセス:ユーザーデータを保護し、MCPサーバーを利用できるユーザーとその権限範囲を管理します。また、MCPサーバーおよびクライアントを介して実行されたアクティビティについて、明確な監査証跡を残します。
- 監査可能性:監査やコンプライアンス対応に必要な、ユーザーのアクティビティ記録を提供します。
Auth for MCP を使用する理由
MCP には、LLM がツールとやり取りするための標準化されたインターフェースや、豊富なコンテキストとメタデータを備えた LLM 向けツールなど、実用的な利点があります。

- 手動による Client ID Metadata Document (CIMD) 登録: 安全で一元化された導入に欠かせない機能です。テナント管理者は、適切なクライアントメタデータ URI を指定して MCP クライアントを一度登録するだけで、複数のユーザーや環境に導入できます。
- Proof Key for Code Exchange (PKCE) : PKCE は、認可コードの傍受リスクを軽減する必須のセキュリティ機能で、Auth0 の SDK によって自動的に処理されます。
- メタデータディスカバリー: MCP 仕様で必須とされている機能です。サーバーは自身の OAuth エンドポイントを公開する必要があります。Auth0 テナントは 認可サーバーのディスカバリードキュメント (
/.well-known/oauth-authorization-server) を提供しているため、MCP クライアントは認可やトークン交換などに必要なエンドポイントを動的に検出でき、クライアント側での手動設定を減らせます。 - サードパーティ IDプロバイダー (IdP) への認証の委任: 仕様では、ユーザーのログイン処理を委任できます。Auth0 を信頼できる IDプロバイダーとして使用するよう MCPサーバーを設定すれば、ユーザー管理とサインオンのロジックを一元化できます。
- On-Behalf-Of (OBO) トークン交換:Auth0 のアクセストークンを、別のオーディエンス向けの新しいトークンセットと交換することで、ファーストパーティ API を呼び出せます。
MCPサーバーのユーザー向け認証
Auth0は、アプリケーションに認証・認可サービスを手軽に組み込める柔軟なソリューションです。Auth0を使用すると、ユーザーは次の方法でログインできます。- ユーザー名とパスワード
- パスワードレスとパスキー
- ソーシャルログイン (Google、Meta、Microsoft、GitHubなど)
- B2B AIアプリケーション向けの企業の認証情報とシングルサインオン (SSO)
- その他
- 多要素認証
- 攻撃防御:特定のIPからのトラフィックのブロックやCAPTCHAの表示などにより、攻撃を検知して、アプリケーションへの悪意あるアクセスを阻止します。ボット検知、Suspicious IP Throttling、ブルートフォース攻撃防御、漏えいパスワードの検知が含まれます。
- ハイリーレギュレーテッドアイデンティティ
- アクションとFormによるUIとログインフローのカスタマイズ
Auth0を使用したMCPの認可フロー
以下は、MCPサーバーが認可サーバーとしてAuth0を使用する場合の標準的なOAuth認可コードフローです。1
MCPクライアントが保護されたMCPサーバーにリクエストを送信すると、HTTP
401 Unauthorizedが返されます。このとき、保護されたリソースのメタデータURLを示すWWW-Authenticateヘッダーが含まれています。2
MCPクライアントは、MCPサーバーの
/.well-known/oauth-protected-resourceエンドポイントにリソースメタデータをリクエストします。3
MCPクライアントはメタデータを解析して一覧から認可サーバー (Auth0) を選択し、
/.well-known/oauth-authorization-serverエンドポイントからそのOAuth 2.0認可サーバーメタデータを取得します。メタデータのレスポンスを受け取った後、Dynamic Client Registration (DCR) が行われる場合があります。4
クライアントはPKCEパラメーターを生成して認可リクエストを作成し、ブラウザーで認可エンドポイントを開きます。
5
続いて、ユーザーがAuth0で認証します (ユーザー名/パスワード、ソーシャルログイン、またはMFAを使用) 。Auth0は、認可コードを付けてブラウザーをMCPクライアントの登録済みリダイレクトURIにリダイレクトします。
6
MCPクライアントがトークンエンドポイントでコードを交換すると、Auth0がアクセストークンを返し、元のOAuthフローが完了します。
7
アクセストークン (およびリフレッシュトークン) を受け取ると、MCPクライアントはそのアクセストークンを使用して、MCPサーバーのツールを認証済みの状態で呼び出します。


Auth0を使用したMCPの認可フロー
MCP向けエンタープライズアイデンティティ
エンタープライズ環境では、組織のIDプロバイダーとシングルサインオン (SSO) を使用して、MCPサーバーにアクセスするユーザーを認証できます。Auth0はOkta、Entra ID、Ping、Google WorkspaceなどのIdPと連携するため、従業員はMCP接続を開始する前に、既存の認証情報で認証できます。 このパターンには次の利点があります。- MCPサーバーに対する従業員認証とMFAの統一
- アクセスポリシーの一元的な適用とデバイスポスチャーのチェック
- すべてのエージェントとのやり取りで一貫したセッションコンテキスト