Skip to content

feat: add Test connection tab to virtual server details drawer - #76

Draft
marekdano wants to merge 1 commit into
mainfrom
5650-virtual-server-test-connection
Draft

feat: add Test connection tab to virtual server details drawer#76
marekdano wants to merge 1 commit into
mainfrom
5650-virtual-server-test-connection

Conversation

@marekdano

Copy link
Copy Markdown
Contributor

Summary

Adds a "Test connection" tab to the virtual server details drawer, running an MCP handshake against the virtual server's own endpoint and surfacing the result - negotiation path, server identity, advertised capabilities, credential source used, and component counts cross-checked against the virtual server's own aggregate (flagged on mismatch).

Closes IBM/mcp-context-forge#5650.

Blocked by IBM/mcp-context-forge#6370POST /v1/mcp-servers/test-handshake's SSRF allowlist only matches registered-gateway URLs (DbGateway.url), so it currently rejects a virtual server's own endpoint by design, regardless of the URL supplied. The frontend here is correct and calls the endpoint exactly as documented; it will start working the moment the backend accepts a virtual-server-scoped target. Opening as draft until #6370 lands — there's nothing left to fix on this side, but the feature can't be demoed/verified against a real virtual server until the backend gap is closed.

What's included

  • src/api/servers.tsserversApi.testHandshake() wrapper for POST /v1/mcp-servers/test-handshake.
  • src/components/servers/HandshakeTestPanel.tsx — the handshake test panel: URL/headers form, result rendering (latency, negotiation path, server identity, capabilities, component-count badges with mismatch flagging against the virtual server's aggregate, credential source, per-failure-class actionable copy, size-capped raw preview).
  • src/components/gateways/VirtualServerDetailsPanel.tsx — adds the Components / Test connection tab shell (following the #5648 drawer-tab pattern) and computes+forwards the virtual server's own aggregated tool/resource/prompt counts for mismatch comparison.
  • Tests: HandshakeTestPanel.test.tsx (idle/success/failure/validation/cancel/unmount/capabilities/credential-source/failure-copy/count-mismatch, including a regression case built from a real backend response) and 5 new cases in VirtualServerDetailsPanel.test.tsx covering the tab wiring.

Test plan

Signed-off-by: Marek Dano <mk.dano@gmail.com>
@marekdano
marekdano force-pushed the 5650-virtual-server-test-connection branch from 6665138 to 5a2c8b3 Compare August 22, 2026 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[UI-REWRITE]: Add Test connection tab to virtual server details drawer

1 participant