/** agent_mcp_bootstrap_if_needed. */
pub fn agent_mcp_bootstrap_if_needed(session, opts) {
let specs = opts?.mcp_servers
if specs == nil || len(specs) == 0 {
return opts
}
let result = __host_mcp_bootstrap(session.session_id, specs)
let out = opts + {_mcp_bootstrap: result, _mcp_server_info: result?.server_info ?? []}
if len(result.tools_added) == 0 {
return out
}
let existing = opts?.tools
let existing_tools = if existing?._type == "tool_registry" {
existing?.tools ?? []
} else {
[]
}
let reg = {_type: "tool_registry", tools: existing_tools + result.tools_added}
return out + {tools: reg}
}