Skip to main content
MoleSignal 将 AI 可操作的产品能力建模为协议无关的 Tool Catalog。Mole Agent 与 Inbound MCP 共用 ToolSpec 契约和同一套服务端 Runtime,不在不同 Adapter 中重复实现业务逻辑。 当前 Catalog 包含 190 个注册 Tool。每个 Tool 都声明稳定名称、Canonical description、输入与输出 Schema、所需 IAM 权限、风险等级、访问模式、Annotations 与允许暴露的 Surface。

产品级操作

Tool 表达查询日志、测试告警或更新一个 Dashboard Panel 等有界产品操作,而不是任意 HTTP 请求。

租户安全上下文

认证 Adapter 注入调用者与组织身份。user_idorg_id 不能选择执行租户。

渐进上下文

常用 Tool 固定可见,其他 Tool 仅在需要时搜索,控制模型上下文与 Token 消耗。

统一执行路径

权限、许可证、策略、超时、输出限制、幂等、审批、验证与审计都会在执行时再次强制检查。

Tool 颗粒度

良好的 MoleSignal Tool 只表达一个明确的运维意图,并返回一个有界结果。
  • 一个 Tool 只执行一次原子读取、预检或变更。
  • list、get、create、update、delete、test、trigger、cancel 与 retry 分别建模。
  • 暴露产品概念,不暴露原始 Route 或任意请求构造器。
  • 返回适合模型处理与审计记录的结构化、有界结果。
  • 凭证明文、二进制传输、原始 Intake、Shell 执行与浏览器控制不进入 Catalog。
这种颗粒度让 IAM 与 Tool Policy 可以控制具体操作,而不是为整组 HTTP Resource 提供宽泛权限。

Surface

每个 Runtime Surface 都有显式的 Tool exposure。 服务端在生成 Tool 列表和执行前都会检查 Surface exposure。绕过 tools/list 不能绕过该边界。

Inbound MCP 渐进发现

Inbound MCP 保持 tools/list 精简。授权后的响应可以包含:
  • 7 个固定只读 Tool:query_logsquery_metricslist_streamsget_stream_schemalist_tracesget_traceget_incident
  • 审批控制:list_agent_approvalsget_agent_approvalexecute_agent_approval
  • 执行控制:list_agent_executionsget_agent_execution
  • tool_searchcall_read_toolcall_managed_tool
IAM 与 Tool Policy 可以从列表中移除任意产品 Tool。

搜索已授权 Catalog

使用产品关键词或 Domain 调用 tool_search
结果只包含同时满足 Inbound MCP exposure、workspace Tool Policy 启用状态与凭证 IAM 授权的 Tool。请求 Schema 时,每个匹配项还会返回 Schema 与实际执行元数据。

执行读取或预检

将搜索到的名称与参数交给 call_read_tool
当 MCP 客户端声明 Tasks extension 时,可以将 as_task 设为 true,把读取转为持久任务,再使用 MCP Task 方法轮询、更新或取消。

执行受控变更

调用 call_managed_tool 时传入唯一幂等 Key:
MoleSignal 会在创建审批或执行变更前,为当前认证 Principal 预占该 Key。重复相同请求会返回已保存结果或进行中状态;使用相同 Key 传入不同参数会被拒绝。

风险与执行策略

Tool 风险等级提供安全默认值,workspace Tool Policy 可以配置更严格的执行模式。 自动执行的受控变更仍会创建可审计的 Approval Record。确认模式可以使用 MCP 多轮输入;单人和双人审批模式会等待 MoleSignal 内的审核。达到所需审核数后,原请求方可以使用另一个 idempotency_key 调用 execute_agent_approval 完成操作。 执行前,Runtime 会重新验证:
  1. 认证 Principal 与组织状态;
  2. 所需 IAM 权限与 Permission Mode;
  3. 许可证与功能可用性;
  4. Surface exposure 与当前 Tool Policy;
  5. 输入 Schema、目标资源状态与风险;
  6. 超时、响应大小限制与幂等;
  7. 操作后验证与审计记录。

Catalog 覆盖范围

Catalog 覆盖适合 AI 调查与管理的安全产品操作。 使用 get_platform_capabilities 获取当前 Surface 过滤后的 Capability 摘要。使用 tool_search 获取当前已授权名称与 Schema,不要依赖静态列表。

身份与 Secret 边界

  • 认证凭证提供调用者 user_idorg_id
  • get_user_profileget_user_preferences 的可选 target_user_id 只用于选择资源。读取其他成员需要 org.members.read,并验证目标属于当前组织。
  • 读取和列表 Tool 只返回凭证元数据。
  • create_api_tokencreate_service_account 不在 Inbound MCP 上暴露,因为两者都会产生一次性明文;请在 Web UI 中创建。
  • 已有 Service Account 与 API Token 仍可通过已授权的非 Secret Tool 列出、更新、启用、禁用、撤销或删除。
Catalog 明确排除登录、注册、密码重置、公开免登录 Route、原始 OTLP 或 Prometheus Intake、外部 Webhook、二进制上传下载、节点 Drain、Runtime Profiling、任意 HTTP、Shell 与浏览器执行。

MCP Resources、Prompts 与 Tasks

Inbound MCP 还会暴露经过 IAM 过滤的平台 Capability、Tool Catalog、Approval、Execution、 Search Job 与 Stream Schema Resource。内置、组织级与当前用户的 Mole Agent Prompt 可以通过 prompts/listprompts/get 获取。 长时间读取可以作为 MCP Task 执行。协商的 MCP 协议版本支持时,还可以使用进度通知、Resource 订阅与 Catalog 变更通知。

接入 MCP 客户端

启用端点,并通过 OAuth 2.1 或 API Token 建立连接。

Mole Agent

从内置运维智能体使用同一套受控 Catalog。
最后修改于 2026年8月13日