動的クライアント登録 (DCR) を使用すると、プラグインで OAuth クライアントを ID プロバイダーに自動的に登録できます。クライアント ID とシークレットを事前に手動で作成する必要はありません。 OAuth アプリを静的に登録して認証構成に資格情報をコピーする代わりに、承認サーバーは RFC 7591 に従ってオンデマンドでクライアント資格情報を発行します。
DCR は OAuth 2.0 認証コード フローに基づいて構築されています。 静的な OAuth とは異なり、リダイレクト URI またはクライアント資格情報を自分で構成する必要はありません。エンタープライズ トークン ストアがクライアントを登録し、それらの詳細をバックグラウンドで処理します。 OAuth の一般的な概念については、「 OAuth 2.0 認証の構成」を参照してください。
注:
- DCR は、モデル コンテキスト プロトコル (MCP) プラグインでサポートされています。
- クライアント シークレットを含まない DCR はまだサポートされていません。 承認サーバーは登録時にクライアント シークレットを発行する必要があります。
- PKCE は、DCR に対して既定で有効になっています。
警告
DCR は、Microsoft Entra ID によって保護されている MCP サーバーでは使用できません。 Microsoft Entra ID は RFC 7591 登録エンドポイントを発行しないため、エンタープライズ トークン ストアがクライアントを登録する対象は何もありません。 Microsoft Entra ID によって保護されているサーバーの場合は、代わりに OAuth クライアントを静的に登録します。 詳細については、「 OAuth 2.0 認証の構成」を参照してください。
DCR を構成するには、次の 2 つの手順があります。前提条件を確認し、DCR 認証構成を作成します。
手順 1: 前提条件を確認する
- MCP サーバーは、OAuth 2.0 で保護されたリソース メタデータをその
.well-known/oauth-protected-resourceエンドポイント (RFC 9728) で公開し、それを保護する承認サーバーを識別します。 - 承認サーバーは、
registration_endpointを含む.well-known/oauth-authorization-serverエンドポイント (RFC 8414) でメタデータを公開し、クライアント シークレットを発行する動的クライアント登録 (RFC 7591) をサポートします。 Microsoft Entra ID はこのエンドポイントを発行しないため、Microsoft Entra ID によって保護されている MCP サーバーは DCR を使用できません。
手順 2: DCR 認証構成を作成する
DCR 認証は、認証構成 (auth config) に依存します。これは、Microsoft 365 Copilot が MCP プラグインのトークンを取得および更新するために使用する Microsoft Enterprise トークン ストアに保存されているレコードです。 DCR 認証構成は、Microsoft 365 Agents Toolkit と宣言型エージェント開発者スキルの 2 つの方法で作成できます。 どちらも認証構成を作成し、プラグイン マニフェストを自動的に更新します。
注:
Microsoft Teams 開発者ポータルでは、DCR はまだサポートされていません。 エージェント ツールキットまたは宣言型エージェント開発者スキルを使用します。
Microsoft 365 Agents Toolkit を使用する (推奨)
Microsoft 365 Agents Toolkitで MCP プラグインを使用してエージェントを構築し、認証の種類として [動的クライアント登録] を選択すると、それ以上の入力は必要ありません。 Agents Toolkit は、MCP サーバーの既知のエンドポイントから登録の詳細を取得し、承認サーバーに新しいクライアントを自動的に登録し、エンタープライズ トークン ストアに認証構成を作成し、プラグイン マニフェストの ランタイム認証オブジェクト を更新します。
宣言型エージェント開発者スキルを使用する
宣言型エージェント開発者スキル (declarative-agent-developer) は、宣言型エージェントの構築に必要な知識をパッケージ化した Microsoft Work IQ のエージェント スキルです。 自分でコマンドを実行したり、マニフェストを編集したりする代わりに、必要な内容を自然言語で Copilot または GitHub CLI に記述します。 このスキルは、宣言型エージェントのスキャフォールディング、MCP プラグインの追加、認証構成の処理を自動的に行います。 DCR の場合、スキルはクライアントを登録し、エンタープライズ トークン ストアに認証構成を作成し、手動の手順なしでプラグイン マニフェストを更新します。
ヒント
宣言型エージェント開発者スキルの使用に関するビデオ チュートリアルについては、「 宣言型エージェント開発者スキルを使用して宣言型エージェントを構築する」を参照してください。
プラグイン マニフェスト
ユーザーによるアクションは必要ありません。このセクションは、Agents Toolkit と宣言型エージェント開発者スキルがプラグイン マニフェストに加える変更を表示するため、参照専用です。 DCR は、OAuth 2.0 と同じ ランタイム認証オブジェクト を使用します。 type プロパティは OAuthPluginVault に設定され、 reference_id は 認証構成 ID に設定されます。
"auth": {
"type": "OAuthPluginVault",
"reference_id": "auth config ID"
},