feat: add Test connection tab to virtual server details drawer - #76
Draft
marekdano wants to merge 1 commit into
Draft
feat: add Test connection tab to virtual server details drawer#76marekdano wants to merge 1 commit into
marekdano wants to merge 1 commit into
Conversation
Signed-off-by: Marek Dano <mk.dano@gmail.com>
marekdano
force-pushed
the
5650-virtual-server-test-connection
branch
from
August 22, 2026 17:00
6665138 to
5a2c8b3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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#6370 —
POST /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.ts—serversApi.testHandshake()wrapper forPOST /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.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 inVirtualServerDetailsPanel.test.tsxcovering the tab wiring.Test plan
npx tsc -b— cleannpm run lint/npm run format:check— cleannpx vitest run— 184 files / 3080 tests passing