跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

管理员 MCP 允许名单与强制服务

区分按名称过滤的服务器名单与自动注入,核对合并、工具筛选和 trust。

Admin Controls 的 MCP 服务器管理目前标记为 preview。它具有允许名单和 required servers 两种机制,均在组织 MCP 控制下使用,与本地 mcp.allowed 的配置入口不同。

允许名单不负责自动安装

管理员定义 mcpServers,例如:

{
  "mcpServers": {
    "corp-search": {
      "url": "https://mcp.example.com/search",
      "type": "http",
      "trust": false,
      "includeTools": ["search"]
    }
  }
}

URL 与工具名是配置示意,需替换为真实服务。此处是 Admin Controls 格式,使用 url/type,不应直接等同于本地 MCP 配置的 httpUrl 等字段。

允许名单状态客户端行为
空MCP 总开关允许时,继续使用用户本地配置
至少一个服务器忽略名单外的本地服务器
名单内有名称,本地也有同名配置合并并初始化
仅管理员名单有名称,本地没有不初始化该服务器

名单按名称匹配。允许列表非空后,服务器需同时出现在组织名单和用户配置,才符合此机制的激活条件。

同名配置如何合并

管理员的 url、type 和 trust 覆盖本地对应值。若管理员定义了 includeTools 或 excludeTools,就只采用管理员的工具筛选规则;二者都未定义时才回退用户本地工具设置。

为固定连接方式,客户端清除本地 command、args、env、cwd、httpUrl 和 tcp。其他字段来自本地配置。不能通过在同名本地服务中增加 command,把管理员定义的远程连接改成本地执行。

强制注入 required servers

{
  "requiredMcpServers": {
    "corp-compliance": {
      "url": "https://mcp.example.com/compliance",
      "type": "http",
      "trust": false,
      "description": "Corporate compliance service"
    }
  }
}

required servers 在允许名单过滤之后注入,不需要用户先添加本地定义。如果与本地服务同名,管理员配置完全替代本地定义,而不是沿用允许名单的逐字段合并。

两种机制可以共存。required servers 只支持远程 sse/http,不支持 command、args、env、cwd 等本地执行字段。

信任、认证和其他字段

required servers 的 trust 默认是 true,工具执行无需用户逐次批准。示例显式设为 false,避免把官方默认自动批准误解为默认询问。允许名单中显式 trust true 同样表示免去工具执行确认。

强制服务可配置 description、headers、timeout(毫秒)、includeTools/excludeTools,以及下列认证字段:

  • authProviderType:dynamic_discovery、google_credentials 或 service_account_impersonation。
  • oauth:scopes、clientId、clientSecret 等 OAuth 配置。
  • targetAudience 与 targetServiceAccount:服务到服务认证的目标与模拟账号。

认证和服务端权限仍需有效;配置被注入不代表已经认证成功。认证详情见MCP Google 身份认证,组织开关见Admin Controls。