Agent 365 CLI develop-mcp コマンド リファレンス

Dataverse 環境で MCP サーバーを管理します。 develop-mcpコマンドは、Dataverse環境で使用するMCPサーバーの公開、非公開、登録、エージェント権限付与のオプションを提供します。

Note

develop-mcp approve、develop-mcp block、develop-mcp package-mcp-serverコマンドはエージェント365 CLIから削除されます。 テナント管理者は現在、Microsoft管理センターでサーバー承認とブロックを行います。保留中のリクエストはRequested Agentsページで確認されます。 CLIはもはや管理者センター提出用のMCPサーバーパッケージを生成していません。管理者は直接管理センターでサーバーをオンボードし管理します。

必要な最小限のロール: サブコマンドによって異なります

Syntax

a365 develop-mcp [command] [options]

オプション

Option Description
-v、--verbose 詳細なログを有効にする
-?、-h、--help ヘルプと使用状況の情報を表示する

develop-mcp evaluate

MCPサーバーを科学的なベストプラクティスに照らして評価し、本番環境の準備状況を評価しましょう。 このツールは、スコア、説明、アクション項目を含む包括的な評価レポートを出力します。 このコマンドはMCPサーバーが公開するツールを発見し、決定論的かつAIスコアによるセマンティックチェックをスキーマに対して実行し、スキーマ品質を評価し改善すべき優先されたアクション項目を一覧化したHTMLレポートを生成します。

a365 develop-mcp evaluate --server-url <server-url> [--auth-token <auth-token>] [options]

evaluate のオプション

Option Description
-u、--server-url <server-url> Required. MCPサーバーのストリーミング可能なHTTPエンドポイントURL(通常は /mcpで終わります)。
--auth-token <auth-token> Optional. MCPサーバーが認証を必要とする場合にのみ必要です。 サーバー用のベアラートークン。 A365_MCP_AUTH_TOKEN環境変数を優先します。コマンドラインで渡されたトークンは、リストやシェル履歴を処理するために見えます。
-o、--output-dir <output-dir> チェックリストとレポートファイルのディレクトリ。 デフォルトのは現在のディレクトリ(.)。
--eval-engine <eval-engine> どのローカルコーディングエージェントが意味チェックを評価しますか:auto(デフォルト;GitHub Copilotを試してからClaude Code)、github-copilot、claude-code、またはnone(AIスコアリングをスキップし、事前にスコアリングされたチェックリストを期待してください)。
-v、--verbose 詳細ログを有効にします。
-?、-h、--help ヘルプと使用状況の情報を表示します。

evaluate の例

自動エンジン選択を使用してローカル サーバーを評価する:

a365 develop-mcp evaluate --server-url "http://localhost:5000/mcp"

環境変数を通じて指定されたトークンとサブフォルダーに書き込まれたアーティファクトを使用して、認証済みサーバーを評価します。

$env:A365_MCP_AUTH_TOKEN = "<bearer-token>"
a365 develop-mcp evaluate --server-url "https://my-mcp-server.contoso.com/mcp" --output-dir "./eval"

チェックリストのみを生成してから、独自の LLM でスコア付けします。

a365 develop-mcp evaluate --server-url "https://my-mcp-server.contoso.com/mcp" --eval-engine none

特定のスコアリング エンジンを強制的に使用する:

a365 develop-mcp evaluate --server-url "http://localhost:5000/mcp" --eval-engine claude-code

evaluate 環境変数

以下の環境変数を使って認証を提供し、各ローカルスコアリングエンジンが使用するモデルを選択的に制御できます。

Environment variable Purpose
A365_MCP_AUTH_TOKEN MCPサーバー用のベアラートークンで、 --auth-token が渡されない場合に使用されます。 フラッグよりも優先されるのは、トークンがプロセスのリスティングやシェル履歴から除外されるからです。
A365_EVAL_COPILOT_MODEL GitHub Copilotモデルをオーバーライドしてください。 例えば、正確なモデルIDが必要です。 claude-haiku-4.5。
A365_EVAL_CLAUDE_MODEL Claudeコードモデルを上書きします。 モデルエイリアス(例: haiku)またはフルモデルIDを受け入れます。

develop-mcp grant-agents-access

持ち込み専用(BYO)MCPサーバーに、エージェントの識別情報が欠落している権限を付与します。

a365 develop-mcp grant-agents-access --mcp-server-name <NAME> --agent-blueprint-id <GUID> [options]

最低必要権限:グローバル管理者(またはテナント全体のOAuth2権限付与権限を持つ他の役割)

このコマンドを使って、 Tools.ListInvoke.All 権限が欠けているために持ち込み(BYO)MCPサーバーを呼び出せないエージェントのアイデンティティを見つけて修正してください。 コマンドは指定されたブループリントの権限がないエージェントインスタンスを一覧表示し、どのインスタンスに権限を与えるかを選択できます。

MCPサーバー名はMicrosoft Entraアプリケーションに解決され、名前に - BYOが付加されます。 たとえば、 ext_Learn1 は ext_Learn1 - BYO に解決されます。 この付与は、そのアプリケーションのサービスプリンシパルに対するテナント全体(AllPrincipals)委任されたOAuth2権限付与であり、実行時リストだけでなく、現在および将来のすべてのエージェントインスタンスに適用されます。

一般的に、事前に設計図のGUIDを知っているわけではありません。 値なしで、または無効な--agent-blueprint-idを渡すと、Microsoftのファーストパーティ設計図名とIDが印刷され、見つけやすくなります。 パス --help 同じリストが表示されます。

コマンドがエージェントインスタンスに権限がないと報告した後、 all を入力して表示されたすべてのインスタンスに許可を付与し、表示された数字のカンマ区切りリスト(例えば 1,3)を表示して特定のインスタンスに許可を付与するか、 Enter キーを押して許可をスキップします。 スクリプトなどで、プロンプトなしですべてのリストに付与 --yes を渡します。

複数のEntraアプリケーションが同じ <name> - BYO 表示名を共有している場合、コマンドはすべてのマッチをリストアップし、推測する代わりにどのアプリを使うかを尋ねます。

grant-agents-access のオプション

Option Description
--agent-blueprint-id <agent-blueprint-id> エージェントインスタンスのAgent Blueprint ID(GUID)をチェックします。 このオプションを省略したり無効な値を指定した場合、コマンドはファーストパーティ設計図の名前とIDを印刷します。
-s、--mcp-server-name <mcp-server-name> Required. MCPサーバー名。 Entraの申請は <name> - BYOとして解決されます。
--tenant-id <tenant-id> Azure AD テナント ID。 デフォルトのは現在のAzure CLIコンテキストです。
-y、--yes リストされているすべてのエージェントインスタンスに、促さずにその欠落した許可を付与してください。
--device-code インタラクティブなブラウザフロー(WindowsのWAMブローカー)の代わりにデバイスコード認証を使いましょう。 WAMがサインインダイアログを表示できない場合(組み込み端末やリモート端末など)を使います。 ブラウザで https://microsoft.com/devicelogin 開きます。
--dry-run 許可を付与せずに、どのエージェントインスタンスが許可を欠いているかを報告してください。
-v、--verbose 詳細なログを有効にする
-?、-h、--help ヘルプと使用状況の情報を表示する

develop-mcp list-environments

MCP サーバー管理に使用できるすべての Dataverse 環境を一覧表示します。

a365 develop-mcp list-environments [options]

このコマンドは、MCP サーバーを管理できるすべての Dataverse 環境を表示します。

list-environments のオプション

Option Description
--dry-run 実行せずに何が行われるかを表示する
-v、--verbose 詳細なログを有効にする
-?、-h、--help ヘルプと使用状況の情報を表示する

develop-mcp list-servers

特定の Dataverse 環境内の MCP サーバーを一覧表示します。

a365 develop-mcp list-servers [options]

このコマンドは、指定されたDataverse環境に現在展開されているすべてのMCPサーバーを一覧表示します。

list-servers のオプション

Option Description
-e、--environment-id <environment-id> Dataverse 環境 ID
--dry-run 実行せずに何が行われるかを表示する
-v、--verbose 詳細なログを有効にする
-?、-h、--help ヘルプと使用状況の情報を表示する

develop-mcp publish

MCP サーバーを Dataverse 環境に発行します。

a365 develop-mcp publish [options]

このコマンドを使用して、指定した Dataverse 環境に MCP サーバーを発行します。

Important

MCPサーバーを公開しても承認されません。 公開はサーバーをテナントに送信し、承認保留中リクエストを作成するだけです。 エージェントがサーバーを使用する前に、テナント管理者がMicrosoft 365 管理センターのRequested Toolsページで承認しなければなりません。 管理者がリクエストを承認するまで、サーバーはエージェントに利用できません。 コマンドが成功すると、CLIはテナント管理者にサーバー承認を求めるリマインダーを印刷します。

公開すると、CLIはテナント内で<server-name>-PublicClients Microsoft Entraアプリの登録を作成します。 このアプリは、クライアントホスト(Visual Studio CodeやMicrosoft Copilot CLIなど)が公開MCPサーバーを呼び出す際に使用するOAuth権限を保持します。 コマンドがアプリ登録を作成するため、CLIを実行するアカウントはApplication.ReadWrite.All Microsoft Graph権限を保持している必要があります。 publishなしで動かすと失敗します。

Note

カスタム(ユーザー作成)MCPサーバー用の --publisher-name を提供します。 この値は公開されたパッケージの開発者メタデータに書き込まれ、これらのサーバーには必要です。 ファーストパーティのMicrosoft所有サーバー(例:msdyn_DataverseMCPServer)は無視され、常に「Microsoft」として公開されます。 省略すると、CLIはインタラクティブにプロインプトします。CIやスクリプト化された文脈でプロンプトなしで公開するための --yes パス。

publish のオプション

Option Description
-e、--environment-id <environment-id> Dataverse 環境 ID
-s、--server-name <server-name> 発行する MCP サーバー名
-a、--alias <alias> MCP サーバーのエイリアス
-d、--display-name <display-name> MCP サーバーの表示名
-p、--publisher-name <publisher-name> Publisher nameは公開されたパッケージのメタデータに書き込まれます。 カスタム(ユーザー作成)MCPサーバーに必要;ファーストパーティのMicrosoft所有サーバーは無視されています。 省略されたときにインタラクティブに促されます。
-y、--yes インタラクティブな「出版を進めますか?」はスキップしてください。 (y/N)" confirmation. CIやスクリプト化された文脈での使用。
--dry-run 実行せずに何が行われるかを表示する
-v、--verbose 詳細なログを有効にする
-?、-h、--help ヘルプと使用状況の情報を表示する

develop-mcp unpublish

Dataverse 環境から MCP サーバーを発行解除します。

a365 develop-mcp unpublish [options]

このコマンドを使用して、指定された Dataverse 環境から MCP サーバーを削除します。

unpublish のオプション

Option Description
-e、--environment-id <environment-id> Dataverse 環境 ID
-s、--server-name <server-name> 発行を解除する MCP サーバー名
--dry-run 実行せずに何が行われるかを表示する
-?、-h、--help ヘルプと使用状況の情報を表示する

develop-mcp register-external-mcp-server

Entra、外部OAuth、APIキー、または認証なしで外部MCPサーバーを登録してください。

a365 develop-mcp register-external-mcp-server [options]

このコマンドを使って、外部ホスト(サードパーティ)のMCPサーバーをテナントに登録してください。 このコマンドは、プラットフォームが必要とするMicrosoft Entraアプリ登録を作成し、Agent 365プラットフォームを呼び出してMCPサーバーを追加し、新しいアプリ登録に対してURIやAPI権限のリダイレクトを設定します。

サーバー名は ext_ の接頭辞で始まり、最大20文字(例えば ext_MyServer)まででなければなりません。 ツール名はリモートMCPサーバーから公開された名前と正確に一致しなければなりません。 名前が一致しないと、実行時にツール呼び出しが失敗します。

パラメータは以下の3つの方法で提供できます:

  • コマンドラインのオプションとして渡してください。
  • --input-file付きのJSONファイルを提供します。 コマンドラインのオプションはファイルの値を上書きします。 ファイル構造についてはCLIテンプレートの中 register-external-mcp-server-sample.json を参照してください。
  • インタラクティブに求められる値は省略してください。

登録が成功したら、エージェントが使用できるようにする前に、テナント管理者に新しいMCPサーバーの承認を求めてください。 ExternalOAuthに登録している場合は、表示されたリダイレクトURIを外部IDPアプリケーションに追加してください。

Important

Microsoft Entraアプリ登録が作成された後に登録が失敗した場合、アプリは自動的にロールバックされません。 再試す前にAzureポータルで手動で削除してください。

register-external-mcp-server のオプション

一部のオプションは、説明欄に記載されているように、特定の認証タイプにのみ必要です。

Option Description
-s、--server-name <server-name> MCPサーバー名。 例えば、 ext_ 文字で始まり、最大20文字以内にしなければならない ext_MyServer
-u、--server-url <server-url> リモートMCPサーバーのURLです。 有効なHTTPまたはHTTPSのURLでなければなりません
-a、--auth-type <auth-type> 認証タイプ: EntraOAuth、 ExternalOAuth、 APIKey、または NoAuth
--publisher <publisher> Publisher名(パッケージメタデータで使用)
--description <description> サーバー記述(パッケージメタデータで使用)
--tools <tools> 例えば、このサーバーが公開したツール名のカンマ区切りリストなど tool1,tool2,tool3
-f、--input-file <input-file> 登録パラメータを含むJSONファイルへのパス
--remote-scopes <remote-scopes> 例えば、リモートMCPサーバーのスコープ、 api://{appId-guid}/{scopeName}。 EntraOAuth と共に使用します。
-t、--tenant-id <tenant-id> アプリ登録用のEntraテナントIDです。 現在の az login テナントへのデフォルト
--service-tree-id <service-tree-id> Entraアプリの登録用にServiceTree IDを使ってください。 Microsoftのコーポレートテナントで必須
-l、--secret-lifetime-months <months> 作成されたEntraアプリで生成されたクライアントシークレットの寿命は月単位(1〜24)です。 デフォルトは24ヶ月(2年)となります。 もしテナントの保険で最低限額が制限されている場合は、入居者の appManagementPolicies 上限より低い額を設定しましょう
--idp-authorization-url <url> 外部OAuth認証URL。 --auth-type が ExternalOAuth されている場合は必須
--idp-token-url <url> 外部OAuthトークンURL。 --auth-type が ExternalOAuth されている場合は必須
--idp-scopes <scopes> 外部OAuthスコープ。 --auth-type が ExternalOAuth されている場合は必須
--idp-client-id <client-id> 外部OAuthクライアントID。 --auth-type が ExternalOAuth されている場合は必須
--idp-client-secret <client-secret> 外部OAuthクライアントの秘密。 --auth-type が ExternalOAuth されている場合は必須
--api-key-location <location> APIキーの位置: Header または Query。 --auth-type が APIKey されている場合は必須
--api-key-name <name> APIキーパラメータやヘッダー名、例えば X-API-Key や token。 --auth-type が APIKey されている場合は必須
--dry-run 実行せずに何が行われるかを表示する
-v、--verbose 詳細なログを有効にする
-?、-h、--help ヘルプと使用状況の情報を表示する