Implement the MCP Inspector page with the Tools tab as shown in the Figma designs. This is the core interactive tool for connecting to MCP gateways and testing tools.
Related architecture validation: #776.
Plugin wiring
- Add
console.page/route for MCP Inspector.
- Add the exposed module in
package.json under consolePlugin.exposedModules.
- Run
yarn i18n for new translatable strings.
Connection bar
Card with three sections: Gateway | Connection | Status.
Select populated by watching MCPGatewayExtension resources with useK8sWatchResource.
- A connectable extension has a current
Ready=True condition. The UI does not depend on status.mcpEndpoint.
- Connection status:
Icon + Connected / No connection.
- Authentication status when a gateway bearer token is in use.
- Request, warning and error counts.
Empty state
Show “No connection: Connect to a Gateway to view the MCP server tools available” until a gateway is selected.
Authentication
When the gateway returns 401, show an “Authentication required” modal with a password input for a bearer token. Keep the token in browser memory only.
The OpenShift user token and MCP gateway token are separate credentials. OIDC is not part of this issue.
Tools workspace
Left panel:
- Searchable tool selector with an icon-only refresh button.
- Tool name, MCP server name, description and annotation labels.
- Copy action.
- Inputs generated from the tool's JSON schema.
- Optional tool-specific
_meta key/value rows.
- Validate-only and Run tool actions where supported.
Right panel:
- Console and server-result views.
- Response text and JSON-RPC request/response payloads.
- Aligned status and duration summary.
Prompts and Logs remain future tabs; only Tools is wired up here.
MCP transport
Browser MCP traffic is same-origin and goes through the OpenShift Console plugin proxy:
Browser
-> /api/proxy/plugin/kuadrant-console-plugin/backend/
api/mcp/v1/mcpgatewayextensions/{namespace}/{name}
-> Console Plugin Go backend
-> MCP Gateway
The Console Plugin image contains a small Go server that serves the compiled frontend and exposes the narrow MCP relay. The Kuadrant Operator deploys this image and reconciles a fixed ConsolePlugin.spec.proxy entry with authorization: UserToken. The relay does not run inside the operator process.
The frontend discovers gateways through the Console SDK and sends only the selected extension's namespace and name. It never sends a destination URL. On each relay request, the backend:
- reads the selected
MCPGatewayExtension with the Console-supplied user token;
- requires
Ready=True for the current extension generation;
- reads the Gateway referenced by
spec.targetRef with the same user token;
- finds the target listener and derives the MCP URL from
spec.publicHost, or the listener hostname, plus listener protocol and port;
- appends
/mcp and relays only the supported Streamable HTTP methods and headers.
The OpenShift token is used only for Kubernetes API reads and is never sent to the MCP Gateway. An optional MCP bearer token uses X-Kuadrant-MCP-Authorization in the browser request and becomes upstream Authorization only after target resolution. Mcp-Session-Id stays in browser memory.
This transport does not require gateway CORS, a Console CSP allowlist, MCP Gateway PR #1416, custom HTTPRoutes or status.mcpEndpoint.
Designs
Keep the interactive Figma prototype as the source design. The exported views below are convenient implementation references.
Tools — selected tool and output

Tools — searchable tool selector

Prompts — future tab reference

Logs — future tab reference

Definition of done
Implement the MCP Inspector page with the Tools tab as shown in the Figma designs. This is the core interactive tool for connecting to MCP gateways and testing tools.
Related architecture validation: #776.
Plugin wiring
console.page/routefor MCP Inspector.package.jsonunderconsolePlugin.exposedModules.yarn i18nfor new translatable strings.Connection bar
Cardwith three sections: Gateway | Connection | Status.Selectpopulated by watchingMCPGatewayExtensionresources withuseK8sWatchResource.Ready=Truecondition. The UI does not depend onstatus.mcpEndpoint.Icon+ Connected / No connection.Empty state
Show “No connection: Connect to a Gateway to view the MCP server tools available” until a gateway is selected.
Authentication
When the gateway returns
401, show an “Authentication required” modal with a password input for a bearer token. Keep the token in browser memory only.The OpenShift user token and MCP gateway token are separate credentials. OIDC is not part of this issue.
Tools workspace
Left panel:
_metakey/value rows.Right panel:
Prompts and Logs remain future tabs; only Tools is wired up here.
MCP transport
Browser MCP traffic is same-origin and goes through the OpenShift Console plugin proxy:
The Console Plugin image contains a small Go server that serves the compiled frontend and exposes the narrow MCP relay. The Kuadrant Operator deploys this image and reconciles a fixed
ConsolePlugin.spec.proxyentry withauthorization: UserToken. The relay does not run inside the operator process.The frontend discovers gateways through the Console SDK and sends only the selected extension's namespace and name. It never sends a destination URL. On each relay request, the backend:
MCPGatewayExtensionwith the Console-supplied user token;Ready=Truefor the current extension generation;spec.targetRefwith the same user token;spec.publicHost, or the listener hostname, plus listener protocol and port;/mcpand relays only the supported Streamable HTTP methods and headers.The OpenShift token is used only for Kubernetes API reads and is never sent to the MCP Gateway. An optional MCP bearer token uses
X-Kuadrant-MCP-Authorizationin the browser request and becomes upstreamAuthorizationonly after target resolution.Mcp-Session-Idstays in browser memory.This transport does not require gateway CORS, a Console CSP allowlist, MCP Gateway PR #1416, custom HTTPRoutes or
status.mcpEndpoint.Designs
Keep the interactive Figma prototype as the source design. The exported views below are convenient implementation references.
Tools — selected tool and output
Tools — searchable tool selector
Prompts — future tab reference
Logs — future tab reference
Definition of done
MCPGatewayExtensionresources and connects through the fixed Console plugin backend proxy.connect-srcCSP dependency.initialize,notifications/initialized, tool refresh andtools/callwork through the backend.ConsolePlugin.spec.proxyreconciliation are covered.