Foundational plugin layer the Inspector sits on: a dependency-free MCP Streamable HTTP client and gateway discovery from MCPGatewayExtension status. Tools (#671) and Prompts (#672) build on this, so it lands first.
Scope
src/utils/mcp/ client: JSON-RPC over Streamable HTTP (initialize, notifications/initialized, tools/list, tools/call), Mcp-Session-Id handling, SSE parse.
status.mcpEndpoint on the MCPGatewayExtension type (src/components/mcp/types.ts).
- Discovery: watch
MCPGatewayExtension on the signed-in user's token; list gateways by status.mcpEndpoint.
- Only send a token to an absolute HTTPS endpoint.
Prototyped on poc/mcp-inspector-direct (src/utils/mcp/); see the design doc in #748.
Depends on the mcp-gateway spec.cors + status.mcpEndpoint backend (tracked outside this repo for now).
Part of #667. Blocks #671, #672.
Status (31 August 2026)
Superseded by the backend proxy transport recorded in #776. The Streamable HTTP client in src/utils/mcp/ ships inside #779, but discovery selects extensions on the Ready condition and the Console plugin backend derives the endpoint from the Gateway listener, so status.mcpEndpoint, spec.cors and the HTTPS-only browser token rule are not needed. This no longer blocks #671 or #672. Proposed: close once #779 merges.
Foundational plugin layer the Inspector sits on: a dependency-free MCP Streamable HTTP client and gateway discovery from
MCPGatewayExtensionstatus. Tools (#671) and Prompts (#672) build on this, so it lands first.Scope
src/utils/mcp/client: JSON-RPC over Streamable HTTP (initialize,notifications/initialized,tools/list,tools/call),Mcp-Session-Idhandling, SSE parse.status.mcpEndpointon theMCPGatewayExtensiontype (src/components/mcp/types.ts).MCPGatewayExtensionon the signed-in user's token; list gateways bystatus.mcpEndpoint.Prototyped on
poc/mcp-inspector-direct(src/utils/mcp/); see the design doc in #748.Depends on the mcp-gateway
spec.cors+status.mcpEndpointbackend (tracked outside this repo for now).Part of #667. Blocks #671, #672.
Status (31 August 2026)
Superseded by the backend proxy transport recorded in #776. The Streamable HTTP client in
src/utils/mcp/ships inside #779, but discovery selects extensions on theReadycondition and the Console plugin backend derives the endpoint from the Gateway listener, sostatus.mcpEndpoint,spec.corsand the HTTPS-only browser token rule are not needed. This no longer blocks #671 or #672. Proposed: close once #779 merges.