Problem
On an installation the infrastructure servers are family members rendered by agent-platform-mcps: <cluster>-mcp-kubernetes, <cluster>-mcp-capi, <cluster>-mcp-prometheus, each with spec.family (x_kubernetes_<tool> with a management_cluster argument) and the agent-platform.giantswarm.io/tool-group: infrastructure label; there is no family-less singleton. The lab differs in three ways:
Result in the agent create flow's Tools step (2026-09-12): the Infrastructure preset resolves to the six x_mcp-kubernetes_* tools only — no Prometheus, although the preset's own description names mcp-kubernetes, mcp-capi and mcp-prometheus — while the catalogue shows three families "awaiting sign-in" that no one can sign in to. Confusing for anyone testing the lab, and a shape no installation has.
Decision (2026-09-12): families only, on installations and in the lab alike. The lab is heading for several clusters anyway (#56, #57 add CAPI and cluster-manager), so a single-cluster special case buys nothing.
Proposed solution
Timing: after the kagent API v2 migration is done (the migration has priority).
Acceptance criteria
Problem
On an installation the infrastructure servers are family members rendered by agent-platform-mcps:
<cluster>-mcp-kubernetes,<cluster>-mcp-capi,<cluster>-mcp-prometheus, each withspec.family(x_kubernetes_<tool>with amanagement_clusterargument) and theagent-platform.giantswarm.io/tool-group: infrastructurelabel; there is no family-less singleton. The lab differs in three ways:mcp-kubernetesMCPServer is a family-less singleton (x_mcp-kubernetes_*), labelledinfrastructure;mcp-prometheusis registered through agent-platform-mcps as a singleton on purpose (groupobservability, kept outsidemuster.familiesso it mirrors the singleton's UX) — and therefore carries no tool-group label;<family>-lab-01/02rows asking for sign-in in the portal's Tool explorer and MCP servers page #167 makes them opt-in).Result in the agent create flow's Tools step (2026-09-12): the Infrastructure preset resolves to the six
x_mcp-kubernetes_*tools only — no Prometheus, although the preset's own description names mcp-kubernetes, mcp-capi and mcp-prometheus — while the catalogue shows three families "awaiting sign-in" that no one can sign in to. Confusing for anyone testing the lab, and a shape no installation has.Decision (2026-09-12): families only, on installations and in the lab alike. The lab is heading for several clusters anyway (#56, #57 add CAPI and cluster-manager), so a single-cluster special case buys nothing.
Proposed solution
agent-platform-mcps.mcpServersentries formcp-kubernetesandmcp-prometheuswithcluster: agentlaband groupskubernetes/prometheus(family block and tool-group label come from the chart's defaults;capijoins when platform.clusters: install kaas-standalone (as a Flux HelmRelease) next to the Agent Platform chart in the lab; headless clusters-test — CAPI and CAPA/CAPZ controllers ready, Release CRs synced, the giantswarm Organization present, no cloud credential #56 lands, withmuster.families.capias the fleet configures it).x_kubernetes_<tool>/x_prometheus_<tool>withmanagement_cluster: agentlab;platform-test's mcp-kubernetes and mcp-prometheus steps call the family tools; the toolset proofs assert thatpreset:infrastructureresolves to both families; the "per-server prefix, no management_cluster argument" notes in the skill-facing docs go.<family>-lab-01/02rows asking for sign-in in the portal's Tool explorer and MCP servers page #167, is the interim step), together with theservergroups.goarithmetic that depended on it: Infrastructure = the lab's two (later three) family members.Timing: after the kagent API v2 migration is done (the migration has priority).
Acceptance criteria
kubectl get mcpservers -n agent-platformon a default lab listsagentlab-mcp-kubernetesandagentlab-mcp-prometheus(family members,tool-group: infrastructure,management-cluster: agentlab) and no family-lessmcp-kubernetessingletonplatform-test,toolsets-test,backstage-test,agents-testgreen on the family UX; the docs (platform.md, backstage.md, the lab's MCP usage notes) describe it