From 2feb36a14824f7a2a8765319a33283e5799f0bcb Mon Sep 17 00:00:00 2001 From: Lee Yarwood Date: Wed, 15 Jul 2026 10:16:25 +0100 Subject: [PATCH] CNV-83516: Enable kubevirt toolset in default MCP server config The kubevirt toolset handles the absence of CNV gracefully by returning tool-level errors rather than crashing the MCP server, making it safe to enable by default. Signed-off-by: Lee Yarwood Assisted-By: Claude --- internal/controller/ocpmcp/assets.go | 3 ++- internal/controller/ocpmcp/assets_test.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/controller/ocpmcp/assets.go b/internal/controller/ocpmcp/assets.go index 159d220b2..de0f6e803 100644 --- a/internal/controller/ocpmcp/assets.go +++ b/internal/controller/ocpmcp/assets.go @@ -23,7 +23,8 @@ const configTOML = `# Denied resources prevent the MCP server from accessing the # User-brought MCP servers (spec.mcpServers) are the user's responsibility to secure. # Toolsets are pinned explicitly so upstream default changes do not affect OLS. -toolsets = ["core", "config", "helm", "metrics"] +toolsets = ["core", "config", "helm", "metrics", "kubevirt"] +experimental_enable_target_compatibility_tool_filters = true [[denied_resources]] group = "" diff --git a/internal/controller/ocpmcp/assets_test.go b/internal/controller/ocpmcp/assets_test.go index d2de8ee1f..07ea5de43 100644 --- a/internal/controller/ocpmcp/assets_test.go +++ b/internal/controller/ocpmcp/assets_test.go @@ -31,7 +31,8 @@ var _ = Describe("OpenShift MCP Server assets", func() { Expect(cm.Labels).To(Equal(labels)) toml := cm.Data[utils.OpenShiftMCPServerConfigFilename] - Expect(toml).To(ContainSubstring(`toolsets = ["core", "config", "helm", "metrics"]`)) + Expect(toml).To(ContainSubstring(`toolsets = ["core", "config", "helm", "metrics", "kubevirt"]`)) + Expect(toml).To(ContainSubstring(`experimental_enable_target_compatibility_tool_filters = true`)) Expect(toml).To(ContainSubstring(`kind = "Secret"`)) Expect(toml).To(ContainSubstring(`group = ""`)) Expect(toml).To(ContainSubstring(`group = "rbac.authorization.k8s.io"`))