在 Microsoft 365 管理中心 中管理代理的工具

Microsoft 365 管理中心 中的代理工具提供组织中可用的所有 AI 支持的工具和模型上下文协议 (MCP) 服务器的集中视图。 这些工具定义 AI 模型如何与用户数据、工具和工作流交互。 代理工具允许你以一致、安全、安全和透明的方式处理请求、响应和操作。

列出的每个工具都表示支持跨 Microsoft 365 个应用的 Copilot 体验的服务。 可以监视可用性、管理访问权限并确保符合组织策略。 使用“ 注册表 ”选项卡可以查看和管理租户中可用的工具,使用“ 请求 ”选项卡可以查看和批准组织中用户的工具请求。

注意

借助“自带 (BYO) MCP 服务器”功能,组织可以使用Agent 365注册自己的远程 MCP 服务器,从而实现集中治理和可观测性。 有关详细信息,请参阅 自带 (BYO) MCP 服务器

查看代理工具注册表

  1. 登录到 Microsoft 365 管理中心

  2. 在左侧导航窗格中,选择“ 代理>工具>注册表”。

    显示租户可用代理工具列表的屏幕截图。

代理工具的关键组件

注册表 ”选项卡和“ 请求 ”选项卡下的“代理工具”列表提供了筛选器、列和操作,可帮助你管理代理工具。

操作

可以直接从列表中选择可用的操作,也可以选择列出的代理来显示代理工具的概述。 代理工具包括以下操作:

操作 说明
阻止 防止代理或工作流使用所选工具。
取消阻止 还原对以前阻止的工具的访问。

筛选器

代理工具注册表可以包含大量各种工具清单。 可以筛选列表,以帮助将视图缩小到当前要关注的代理工具。

筛选器基于以下条件:

筛选器 说明
状态 按当前状态筛选工具,例如 “可用”“已阻止”。
Publisher 查看由 Microsoft 或其他提供程序发布的工具。

列数

下表描述了代理工具注册表中可用的列:

说明
名称 工具的显示名称,例如 Microsoft Teams MCP 服务器
状态 显示工具是 “可用” 还是 “已阻止”。
类型 显示工具类别,例如 MCP 服务器
Publisher 显示发布者,例如第一方工具的Microsoft。

常见 MCP 服务器

使用 MCP 服务器作为服务向代理公开数据、操作和业务逻辑。

下面是 MCP 服务器的示例:

有关相关信息,请参阅 Microsoft Agent 365 SDK 和 CLI

自带 (BYO) MCP 服务器

借助“自带 (BYO) MCP 服务器”功能,组织可以使用Microsoft Agent 365注册自己的远程 MCP 服务器,从而实现集中治理和可观测性。

重要

  • 这是一项预览功能。
  • 预览功能不适用于生产用途,并且功能可能受限。 这些功能受 补充使用条款的约束,并在正式发布之前提供,以便客户能够提前访问并提供反馈。

大型企业通常构建并运行内部 MCP 服务器,以跨各种业务工作流为其代理提供支持。 这些服务器通常在任何组织治理边界外运行,管理员无法了解要公开哪些工具,没有策略强制实施调用方式,也没有为安全性和合规性团队使用遥测数据。 BYO MCP 服务器通过Agent 365工具网关路由已注册的服务器,使 IT 管理员能够通过Microsoft 365 管理中心和安全团队控制所需的可观测性数据,从而解决此问题。

注意

BYO MCP 服务器目前处于预览状态。 支持的客户端图面包括 Copilot Studio、VS Code、Claude Code 和 GitHub Copilot CLI。 Azure AI Foundry 和 Microsoft 365 声明性代理尚不受支持。

BYO MCP 服务器的工作原理

BYO MCP 服务器遵循结构化的开发人员到管理员流,以确保在代理可用之前审查和管理所有远程 MCP 服务器。

BYO MCP 服务器开发人员到管理员流:

  1. 开发人员通过 Agent 365 CLI 注册远程 MCP 服务器,并提供服务器 URL、身份验证类型和要公开的工具。 有关详细信息,请参阅 注册远程 MCP 服务器
  2. IT 管理员查看Microsoft 365 管理中心中的服务器详细信息和声明的工具,并批准或拒绝请求。 批准后,管理员授予服务器所需的Microsoft Entra权限。 有关详细信息,请参阅 查看和批准工具请求
  3. 支持的客户端(如 Copilot Studio 和 VS Code)使用批准的 MCP 服务器针对实际工具调用生成和测试代理。 有关详细信息,请参阅 使用批准的 MCP 服务器
  4. 安全团队通过Microsoft Defender高级搜寻来监视 MCP 服务器活动和工具调用,以查找合规性和异常情况。 有关详细信息,请参阅 监视和观察 MCP 服务器活动

重要

此方法可确保所有外部 MCP 集成在可供最终用户使用之前都经过适当的治理和合规性评审。

注意

BYO MCP 服务器目前处于预览状态。 当前不支持重新发布远程 MCP 服务器的新版本。

注册远程 MCP 服务器

提示

作为管理员,了解如何注册远程 MCP 服务器可能会有所帮助。 或者,可以向开发人员提供本部分中要实现的步骤。

你或开发人员可以将自己的远程 MCP 服务器注册到 Agent 365。 本部分将引导你完成使用 CLI 向 Agent 365 注册远程 MCP 服务器所需的步骤,以便 IT 管理员可以查看并批准该服务器在代理生成图面中使用。

本部分提供注册远程 MCP 服务器 (开发人员) 通常实现的所需步骤:

开发人员先决条件

注册远程 MCP 服务器之前,请确保满足以下先决条件:

  • 安装 Agent 365 CLI (或更新到最新版本) 。 若要使此流正常运行,需要版本 1.1.165 预览版或更高版本。
  • 确保在租户中预配Agent 365服务主体。 如果找不到与 appId ea9ffc3e-8a23-4a7d-836d-234d7c7565c1关联的服务主体,则不会为租户预配服务主体。 若要为租户中的Agent 365设置服务主体,请参阅:
  • 可从 Internet 访问的可公开访问的 MCP 服务器终结点。
  • 服务器配置了受支持的身份验证类型之一:
    • NoAuth
    • APIKey (标头或查询)
    • ExternalOAuth
    • EntraOAuth

安装 Agent 365 CLI

若要安装 Agent 365 CLI,请按照安装 Agent 365 CLI 中的说明进行操作。

注册 MCP 服务器

安装 Agent 365 CLI 并确保 MCP 服务器终结点可公开访问并使用支持的身份验证类型进行配置后,即可向 Agent 365 注册 MCP 服务器。 IT 管理员可以查看并批准它在代理生成图面中使用。

有几个选项可用于将 MCP 服务器注册到 Agent 365:

  • 通过 CLI 手动注册:从 CLI 运行 a365 develop-mcp register-external-mcp-server 命令,并手动提供服务器详细信息、身份验证类型和 MCP 服务器公开的工具。

重要

本部分中的示例使用 zava.com 作为虚构域和泛型服务器和工具名称进行说明。 将这些值替换为实际的服务器 URL、名称和工具标识符。

  • 通过 JSON 文件注册:使用 a365 develop-mcp register-external-mcp-server -f <path-to-file.json> 在单个文件中提供包含所有服务器详细信息、身份验证类型和工具定义的 JSON 文件,而不是在命令行上单独指定它们,来注册 MCP 服务器。

请参阅以下部分中的示例,了解如何使用 CLI 为不同的身份验证类型使用 Agent 365 注册 MCP 服务器。

NoAuth

对于不需要身份验证的 MCP 服务器:

a365 develop-mcp register-external-mcp-server \
--server-name "ZavaServer" \
--server-url "https://mcp.zava.com/mcp" \
--publisher "Contoso" \
--description "My external MCP server for document search" \
--auth-type "NoAuth" \
--tools "tool1,tool2"
{
  "serverName": "ext_DocsSearch",
  "serverUrl": "https://docs.contoso.com/api/mcp",
  "authType": "NoAuth",
  "description": "Documentation search MCP Server for Contoso developer docs.",
  "publisherName": "Contoso",
  "tools": [
    {
      "name": "search_docs",
      "description": "Search Contoso developer documentation and code samples."
    }
  ],
  "remoteScopes": null,
  "externalOAuth": null,
  "apiKey": null
}
APIKey (查询参数)

对于将 API 密钥作为查询参数传递的服务器:

a365 develop-mcp register-external-mcp-server \
--server-name "ZavaServer" \
--server-url "https://mcp.zava.com/mcp" \
--publisher "Contoso" \
--description "My external MCP server for document search" \
--auth-type APIKey \
--api-key-location Query \
--api-key-name apiKey \
--tools "tool1,tool2"
{
  "serverName": "ext_MarketData",
  "serverUrl": "https://api.contoso.com/market/mcp",
  "authType": "APIKey",
  "description": "Real-time stock market data and search from Contoso Market Services.",
  "publisherName": "Contoso",
  "tools": [
    {
      "name": "stock-market-data",
      "description": "Get real-time stock market data and financial information."
    },
    {
      "name": "real-time-search",
      "description": "Search the web for real-time information and news."
    }
  ],
  "remoteScopes": null,
  "externalOAuth": null,
  "apiKey": {
    "location": "Query",
    "name": "apiKey"
  }
}
APIKey (标头)

对于在请求标头中传递 API 密钥的服务器:

a365 develop-mcp register-external-mcp-server \
--server-name "ZavaServer" \
--server-url "https://mcp.zava.com/mcp" \
--publisher "Contoso" \
--description "My external MCP server for document search" \
--auth-type APIKey \
--api-key-location Header \
--api-key-name token \
--tools "tool1,tool2"
{
  "serverName": "ext_InternalTools",
  "serverUrl": "https://tools.contoso.com/mcp",
  "authType": "APIKey",
  "description": "Contoso internal tools MCP Server with API key authentication.",
  "publisherName": "Contoso",
  "tools": [
    {
      "name": "tool1",
      "description": "First tool exposed by the server."
    },
    {
      "name": "tool2",
      "description": "Second tool exposed by the server."
    }
  ],
  "remoteScopes": null,
  "externalOAuth": null,
  "apiKey": {
    "location": "Header",
    "name": "X-API-Key"
  }
}
ExternalOAuth

对于通过外部 OAuth 提供程序进行身份验证的服务器:

a365 develop-mcp register-external-mcp-server \
--server-name "ZavaServer" \
--server-url "https://zava.com/mcp" \
--publisher "Contoso" \
--description "My external MCP server for document search" \
--auth-type ExternalOAuth \
--idp-authorization-url "https://idp.zava.com/o/oauth2/v2/auth" \
--idp-token-url "https://idp.zava.com/oauth2/token" \
--idp-scopes "https://api.zava.com/read" \
--idp-client-id "<your-client-id>" \
--idp-client-secret "<your-client-secret>" \
--remote-scopes "https://api.zava.com/read" \
--tools "tool1,tool2"

{
  "serverName": "ext_Analytics",
  "serverUrl": "https://analytics.contoso.com/mcp",
  "authType": "ExternalOAuth",
  "description": "Contoso Analytics MCP Server for dataset and query operations.",
  "publisherName": "Contoso",
  "tools": [
    {
      "name": "list_datasets",
      "description": "List all available analytics datasets."
    }
  ],
  "remoteScopes": "https://analytics.contoso.com/.default",
  "externalOAuth": {
    "authorizationUrl": "https://auth.contoso.com/oauth2/authorize",
    "tokenUrl": "https://auth.contoso.com/oauth2/token",
    "scopes": "https://analytics.contoso.com/.default",
    "clientId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "clientSecret": "<your-client-secret>"
  },
  "apiKey": null
}
EntraOAuth

对于通过 Microsoft Entra ID 进行身份验证的服务器:

a365 develop-mcp register-external-mcp-server \
--server-name "ZavaServer" \
--server-url "https://mcp.zava.com/mcp" \
--publisher "Contoso" \
--description "My external MCP server for document search" \
--auth-type EntraOAuth \
--remote-scopes "https://api.zava.com/.default" \
--tools "tool1,tool2"
{
  "serverName": "ext_OrgDirectory",
  "serverUrl": "https://directory.contoso.com/mcp",
  "authType": "EntraOAuth",
  "description": "Contoso organization directory MCP Server secured with Entra OAuth.",
  "publisherName": "Contoso",
  "tools": [
    {
      "name": "list_users",
      "description": "List users in the organization directory."
    },
    {
      "name": "get_user_profile",
      "description": "Get the profile of a specific user by ID or UPN."
    }
  ],
  "remoteScopes": "api://contoso-directory/.default",
  "externalOAuth": null,
  "apiKey": null
}

成功注册后,在Microsoft 365 管理中心提交 MCP 服务器以供管理员评审。

查看和批准工具请求

开发人员注册工具(如远程 MCP 服务器)后,该工具会显示在Microsoft 365 管理中心进行评审和审批。

显示租户的可用代理工具请求列表的屏幕截图。

作为在Microsoft 365 管理中心内具有管理代理工具的适当权限的管理员,你可以查看、批准或拒绝这些请求,以控制哪些工具可用于你的组织。

重要

若要完成评审和审批过程,需要满足两个要求:

  • 需要访问Microsoft 365 管理中心的工具页,可在其中管理代理工具和查看 MCP 服务器注册请求。
  • 需要能够授予租户范围的同意。

两个角色满足这两个要求:

使用权限最少的角色,并限制具有管理员权限的用户数。 请参阅 Microsoft Entra ID 中按任务列出的最低特权角色。 若要详细了解Microsoft 365 管理中心中的管理员角色和权限,请参阅:

若要查看和批准 MCP 服务器注册请求,请执行以下步骤:

  1. 登录到 Microsoft 365 管理中心
  2. 选择“ 代理>工具”,然后选择“ 请求 ”选项卡。
  3. 挂起的请求显示每个服务器的以下详细信息:
    • 服务器名
    • Publisher
    • 请求者
    • 请求日期
  4. 查看服务器信息和声明的工具,了解准确性和合规性。
  5. 选择“ 批准 ”使服务器在组织注册表中可用,或 选择“拒绝” 以拒绝请求。
  6. 批准后,同意 MCP 服务器所需的Microsoft Entra权限。 只有在授予同意后,服务器才可用于代理生成图面。

注意

MCP 服务器在获得批准并授予同意后,最多可能需要 30 分钟才能显示在租户中的所有Microsoft Copilot Studio环境中。

根据 MCP 服务器的可用性,你将看到以下状态指示器:

  • 可用 - 工具处于活动状态,可供使用。
  • 已阻止 - 工具已禁用,代理无法访问该工具。

关键治理控制

下表汇总了关键治理控制措施:

控制 说明
审批/拒绝 管理员在使用之前显式批准或拒绝每个 BYO MCP 服务器。
Server-Level 块 管理员可以随时阻止已批准的服务器;阻止的服务器在运行时强制实施。
工具快照 管理员可以查看每个 MCP 服务器公开的声明工具,以保持透明度。
运行时强制 无法在运行时跨任何客户端图面调用阻止的 MCP 服务器。

使用批准的 MCP 服务器

MCP 服务器获得批准并Microsoft Entra同意后,可以跨支持的代理生成图面使用它。 以下客户端图面当前支持在预览版中调用已批准的 BYO MCP 服务器:

客户端 状态
Copilot Studio ✅ 支持
VS Code ✅ 支持
Claude代码 ✅ 支持
GitHub Copilot CLI ✅ 支持

作为 Copilot Studio 中的用户,请执行以下步骤来调用批准的 BYO MCP 服务器:

  1. 转到环境中的Copilot Studio
  2. 创建新的自定义代理 (或打开现有代理) 。
  3. 转到 “工具” 部分,然后选择“ MCP 服务器”。
  4. 从注册表中选择 MCP 服务器。
  5. 通过输入调用 MCP 服务器的提示来测试代理。

注意

首次连接设置:在初始调用时,系统可能会提示你完成一次性连接设置。 按照提供的 URL 创建所需的连接,例如为基于 APIKey 的服务器输入 API 密钥。 完成后,返回到代理并重试提示。 成功调用后,会看到 MCP 服务器使用正确的工具输出做出响应。

了解如何从 Claude Code、VS Code 和 GitHub Copilot CLI 调用批准的 BYO MCP 服务器,请参阅 Work IQ MCP 概述的为编码代理设置工作 IQ MCP 服务器部分。

监视和观察 MCP 服务器活动

作为组织安全团队的成员,请使用Microsoft Defender高级搜寻来跟踪和分析 MCP 服务器调用。 此过程可帮助你查看哪些代理在调用时调用哪些 MCP 服务器,以及可帮助检测异常或未经授权的使用模式的其他相关元数据。

示例 KQL 查询 — Defender 高级搜寻:

CloudAppEvents
| where ActionType in ( "ExecuteToolByGateway")
| where RawEventData contains "tool name"

此查询返回详细信息,包括代理名称、MCP 服务器名称和调用元数据。