From 0de27be4fa5e3c937c371115f7b3b66a819dec99 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Thu, 27 Aug 2026 06:43:53 +0200 Subject: [PATCH] ui: skip MCP init when no policy-enabled server remains Extends the category-level check: the flow also skips MCP init when every globally-enabled server has its server-scoped group key disabled in the tool policy. Assisted-by: pi --- tools/ui/src/lib/stores/agentic/index.svelte.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/ui/src/lib/stores/agentic/index.svelte.ts b/tools/ui/src/lib/stores/agentic/index.svelte.ts index 3d47c50d86..bbf2526ce0 100644 --- a/tools/ui/src/lib/stores/agentic/index.svelte.ts +++ b/tools/ui/src/lib/stores/agentic/index.svelte.ts @@ -329,9 +329,15 @@ class AgenticStore { const disabledToolCategories = new Set( toolPolicy?.disabledToolCategories ?? toolsStore.disabledToolCategories ); - // skip MCP init when the policy disables the whole MCP category + // skip MCP init when the policy leaves no usable server: either the whole + // MCP category is off, or every globally-enabled server has its group key + // disabled for this flow const hasMcpServers = - mcpStore.hasEnabledServers() && !disabledToolCategories.has(ToolSource.MCP); + mcpStore.hasEnabledServers() && + !disabledToolCategories.has(ToolSource.MCP) && + mcpStore + .getServers() + .some((s) => s.enabled && !disabledTools.has(toolsStore.getMcpServerToolsKey(s.id))); if (hasMcpServers) { const initialized = await mcpStore.ensureInitialized();