From 9f7dd84d4a028d61ae5b9a35cbdd068a005eabe4 Mon Sep 17 00:00:00 2001 From: Snider Date: Wed, 8 Apr 2026 19:17:32 +0100 Subject: [PATCH] perf(mcp): gate extended built-in tools behind CORE_MCP_FULL Metrics, RAG, and webview tools only register when CORE_MCP_FULL=1. Process and WS tools always register (used by factory). Reduces default tool count by 15. Co-Authored-By: Virgil --- pkg/mcp/mcp.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkg/mcp/mcp.go b/pkg/mcp/mcp.go index 3cc05b0..abcfa95 100644 --- a/pkg/mcp/mcp.go +++ b/pkg/mcp/mcp.go @@ -311,12 +311,16 @@ func (s *Service) registerTools(server *mcp.Server) { Description: "Get list of supported programming languages", }, s.getSupportedLanguages) - // Additional built-in tool groups. - s.registerMetricsTools(server) - s.registerRAGTools(server) + // Additional built-in tool groups — gated by process/ws availability. s.registerProcessTools(server) - s.registerWebviewTools(server) s.registerWSTools(server) + + // Extended built-in tools — only when CORE_MCP_FULL=1 + if core.Env("CORE_MCP_FULL") == "1" { + s.registerMetricsTools(server) + s.registerRAGTools(server) + s.registerWebviewTools(server) + } } // Tool input/output types for MCP file operations.