Implement the "Setup MCP server" wizard as shown in the Figma designs. This is a 3-step wizard for creating an HTTPRoute and MCPServerRegistration to connect an upstream MCP server to the gateway.
Overall layout:
Wizard (vertical nav variant with numbered steps)
Tabs (Form / YAML) on each step
Button (primary: Next/Add MCP server, secondary: Cancel)
Step 1 — Create route for MCP server:
Form with FormGroup rows:
TextInput — Route name (required, with Popover help)
Select — Namespace (required) + TextInput fallback for new namespace
TextInput — Internal hostname (required)
Select — Listener name
- Match rules section:
TextInput — Path match (required)
Select — Target Kubernetes service
TextInput — Port (required)
Step 2 — Register MCP server:
Form with FormGroup rows:
TextInput — Registration name (required)
Select — Namespace (required)
Select — Target HTTPRoute name (with Popover help)
TextInput — Tool prefix (required)
Resource creation strategy:
Steps 1–2 are form-only — no K8s resources are created until step 3. All resources are created in sequence at the verify step using the OpenShift Console SDK (k8sCreate), then watched (k8sWatch) for status conditions. If the user cancels before step 3, nothing is created.
Resources created at step 3:
HTTPRoute (gateway.networking.k8s.io/v1) — from step 1 form data
MCPServerRegistration (mcp.kuadrant.io/v1) — from step 2 form data
Step 3 — Verify MCP server:
- Creates all resources, then watches
MCPServerRegistration .status.conditions[?(@.type=='Ready')] for the controller to reconcile
Spinner (inline) — for in-progress checks
Icon (success/check) — for completed checks
- Progress: Waiting for MCP server → Ready → Initializing → Initialized → Running health checks → Passed health checks
Alert (inline, success) — "MCP server is running and healthy"
Alert (inline, success) — "MCP server tools are available"
- Escape hatch: user can click "View in overview" or "Done" at any point during verification without waiting for all checks to pass — resources are already created
Button (primary): "Add MCP server"
Designs: https://www.figma.com/proto/oizjCN6EVed31dW71YXS3K/RHCL-MCP?node-id=59-16632
Definition of done
Implement the "Setup MCP server" wizard as shown in the Figma designs. This is a 3-step wizard for creating an HTTPRoute and MCPServerRegistration to connect an upstream MCP server to the gateway.
Overall layout:
Wizard(vertical nav variant with numbered steps)Tabs(Form / YAML) on each stepButton(primary: Next/Add MCP server, secondary: Cancel)Step 1 — Create route for MCP server:
FormwithFormGrouprows:TextInput— Route name (required, withPopoverhelp)Select— Namespace (required) +TextInputfallback for new namespaceTextInput— Internal hostname (required)Select— Listener nameTextInput— Path match (required)Select— Target Kubernetes serviceTextInput— Port (required)Step 2 — Register MCP server:
FormwithFormGrouprows:TextInput— Registration name (required)Select— Namespace (required)Select— Target HTTPRoute name (withPopoverhelp)TextInput— Tool prefix (required)Resource creation strategy:
Steps 1–2 are form-only — no K8s resources are created until step 3. All resources are created in sequence at the verify step using the OpenShift Console SDK (
k8sCreate), then watched (k8sWatch) for status conditions. If the user cancels before step 3, nothing is created.Resources created at step 3:
HTTPRoute(gateway.networking.k8s.io/v1) — from step 1 form dataMCPServerRegistration(mcp.kuadrant.io/v1) — from step 2 form dataStep 3 — Verify MCP server:
MCPServerRegistration.status.conditions[?(@.type=='Ready')]for the controller to reconcileSpinner(inline) — for in-progress checksIcon(success/check) — for completed checksAlert(inline, success) — "MCP server is running and healthy"Alert(inline, success) — "MCP server tools are available"Button(primary): "Add MCP server"Designs: https://www.figma.com/proto/oizjCN6EVed31dW71YXS3K/RHCL-MCP?node-id=59-16632
Definition of done