Agent 365 CLI
管理 Dataverse 環境中的 MCP 伺服器。 此 develop-mcp 指令提供發布、取消發佈及註冊 MCP 伺服器的選項,以供 Dataverse 環境中使用。
Note
develop-mcp approveAgent 365 CLI 中的 、 develop-mcp blockdevelop-mcp package-mcp-server 、 和 指令已被移除。 租戶管理員現在可在 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"
只產生清單,然後用你自己的大型語言模型評分:
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 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 環境識別碼 |
--dry-run |
展示不執行的情況下會做什麼 |
-v、--verbose |
啟用詳細日誌記錄 |
-?、-h、--help |
顯示說明與使用資訊 |
develop-mcp publish
將 MCP 伺服器發佈到 Dataverse 環境。
a365 develop-mcp publish [options]
使用此指令將 MCP 伺服器發佈到指定的 Dataverse 環境。
發佈時,CLI 會在租戶中建立一個 <server-name>-PublicClients Microsoft Entra 應用程式註冊。 此應用程式持有用戶端主機(如 Visual Studio Code 與 Microsoft 365 Copilot CLI)用來呼叫已發佈 MCP 伺服器的 OAuth 權限。 由於該指令會建立應用程式註冊,執行 CLI 的帳號必須擁有 Application.ReadWrite.All Microsoft Graph 權限。 不帶它跑 publish 會失敗。
Note
提供 --publisher-name 自訂(使用者創建)MCP 伺服器。 該值會寫入已發佈套件的開發者元資料,且是這些伺服器所必需的。 對於第一方Microsoft擁有的伺服器(例如 msdyn_DataverseMCPServer)會忽略,這些伺服器總是以「Microsoft」形式發佈。 當你省略時,CLI 會互動式地提示;在 CI 或腳本化情境中,無需提示即可通過 --yes 發佈。
publish 選項
| Option | Description |
|---|---|
-e、--environment-id <environment-id> |
Dataverse 環境識別碼 |
-s、--server-name <server-name> |
發佈的 MCP 伺服器名稱 |
-a、--alias <alias> |
MCP 伺服器的別名 |
-d、--display-name <display-name> |
MCP 伺服器的顯示名稱 |
-p、--publisher-name <publisher-name> |
Publisher 名稱寫入已發佈套件的元資料。 自訂(使用者創建)MCP 伺服器所必需;被第一方 Microsoft 擁有的伺服器忽略。 省略時會互動提示。 |
-y、--yes |
跳過互動式的「繼續發佈嗎? (y/N)" confirmation. 在 CI 或腳本情境中使用。 |
--dry-run |
展示不執行的情況下會做什麼 |
-v、--verbose |
啟用詳細日誌記錄 |
-?、-h、--help |
顯示說明與使用資訊 |
develop-mcp unpublish
從 Dataverse 環境中卸載 MCP 伺服器。
a365 develop-mcp unpublish [options]
使用此指令將 MCP 伺服器從指定的 Dataverse 環境中移除。
unpublish 選項
| Option | Description |
|---|---|
-e、--environment-id <environment-id> |
Dataverse 環境識別碼 |
-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 伺服器所顯示的名稱完全一致。 名稱不匹配會導致工具呼叫在執行時失敗。
你可以用三種方式提供參數:
- 把它們當作命令列選項傳遞。
- 提供一個帶有
--input-file的 JSON 檔案。 命令列選項會覆寫檔案中的數值。 請參見register-external-mcp-server-sample.jsonCLI 範本中的檔案結構。 - 刪除任何互動式提示所需的值。
註冊成功後,請租戶管理員批准新的 MCP 伺服器,讓客服人員才能使用。 如果你註冊了 ExternalOAuth,也將顯示的重定向 URI 加入你的外部 IDP 應用程式。
Important
如果在建立 Microsoft Entra 應用程式註冊後註冊失敗,應用程式不會自動回滾。 在重試前,先在 Azure 入口網站手動刪除它們。
register-external-mcp-server 選項
部分選項僅對特定認證類型必要,詳見描述欄。
| Option | Description |
|---|---|
-s、--server-name <server-name> |
MCP 伺服器名稱。 例如,必須以 ext_ 20 個字元開頭,最多 20 個字元 ext_MyServer |
-u、--server-url <server-url> |
遠端 MCP 伺服器的網址。 必須是有效的 HTTP 或 HTTPS URL |
-a、--auth-type <auth-type> |
認證類型:EntraOAuth、、ExternalOAuthAPIKey、或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> |
ServiceTree ID 用於 Entra 應用程式註冊。 Microsoft 企業租戶的必備功能 |
-l、--secret-lifetime-months <months> |
在建立的 Entra 應用程式中產生的客戶端秘密,壽命以月為單位(1 到 24)。 預設為24個月(2年)。 如果你的房客保單規定最高限額較短,請將價值設定低於 appManagementPolicies 上限 |
--idp-authorization-url <url> |
外部 OAuth 授權網址。 當 --auth-type 為 ExternalOAuth 時為必填 |
--idp-token-url <url> |
外部 OAuth 令牌網址。 當 --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-Keytoken。 當 --auth-type 為 APIKey 時為必填 |
--dry-run |
展示不執行的情況下會做什麼 |
-v、--verbose |
啟用詳細日誌記錄 |
-?、-h、--help |
顯示說明與使用資訊 |