You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
clients/web/src/App.tsx is currently a 42-line MantineProvider shell that mounts InspectorView with no wiring — every prop is a fixture. Once the v2 core/ hook layer lands, App.tsx becomes the seam between the hook output and InspectorView's prop interface.
The plan flags this as a follow-up: "Wiring App.tsx to the v2 core hook layer."
Acceptance criteria
App.tsx calls useInspectorClient and the per-primitive useManaged* hooks.
InspectorView receives every required prop from hook output (no fixture imports remain in App.tsx).
Connection lifecycle handlers (onToggleConnection, onDisconnect) dispatch useInspectorClient's connect / disconnect rather than the existing demo stub inside InspectorView.
Per-screen action handlers wire to the right hook: onCallTool → useManagedTools, onGetPrompt → useManagedPrompts, onReadResource → useManagedResources, onSetLevel → useMessageLog, onCancel → useManagedRequestorTasks, etc.
The demo stub inside InspectorView (STUB_MIN_DELAY_MS, STUB_MAX_DELAY_MS, STUB_SUCCESS_RATE, handleToggleConnection, the timer machinery — InspectorView.tsx:96-249) is removed; InspectorView becomes pure prop-driven.
Storybook stories for InspectorView continue to work via fixture props (Storybook never goes through App.tsx).
Test plan
npm run format && npm run lint && npm run build clean.
npm run dev against a real MCP server (e.g. npx @modelcontextprotocol/server-filesystem) — connect / disconnect cycle works end-to-end.
Calling a tool from the Tools screen produces a real result in the result panel (no stub).
Reading a resource from the Resources screen produces real contents.
Setting a log level via the Logging screen actually issues logging/setLevel and subsequent logs respect the new level.
All InspectorView stories continue rendering with fixtures — npm run storybook shows no regressions.
Out of scope
Persistence (saving the server list across reloads — that's a useServers v2-only hook concern, separate effort).
Multi-server connection state (the v2 design is single-active-server; no change here).
Any new screens or features beyond what's already wired in InspectorView.
Blocked by
v2 core/ hook layer effort (separate issue).
Related
Current state: clients/web/src/App.tsx (42 lines), clients/web/src/components/views/InspectorView/InspectorView.tsx
Plan reference: specification/v2_ux_interfaces_plan.md § "Out of this plan, but adjacent"
Background
clients/web/src/App.tsxis currently a 42-lineMantineProvidershell that mountsInspectorViewwith no wiring — every prop is a fixture. Once the v2core/hook layer lands,App.tsxbecomes the seam between the hook output andInspectorView's prop interface.The plan flags this as a follow-up: "Wiring
App.tsxto the v2 core hook layer."Acceptance criteria
App.tsxcallsuseInspectorClientand the per-primitiveuseManaged*hooks.InspectorViewreceives every required prop from hook output (no fixture imports remain inApp.tsx).onToggleConnection,onDisconnect) dispatchuseInspectorClient'sconnect/disconnectrather than the existing demo stub insideInspectorView.onCallTool→useManagedTools,onGetPrompt→useManagedPrompts,onReadResource→useManagedResources,onSetLevel→useMessageLog,onCancel→useManagedRequestorTasks, etc.InspectorView(STUB_MIN_DELAY_MS,STUB_MAX_DELAY_MS,STUB_SUCCESS_RATE,handleToggleConnection, the timer machinery —InspectorView.tsx:96-249) is removed;InspectorViewbecomes pure prop-driven.InspectorViewcontinue to work via fixture props (Storybook never goes throughApp.tsx).Test plan
npm run format && npm run lint && npm run buildclean.npm run devagainst a real MCP server (e.g.npx @modelcontextprotocol/server-filesystem) — connect / disconnect cycle works end-to-end.logging/setLeveland subsequent logs respect the new level.InspectorViewstories continue rendering with fixtures —npm run storybookshows no regressions.Out of scope
useServersv2-only hook concern, separate effort).InspectorView.Blocked by
Related
clients/web/src/App.tsx(42 lines),clients/web/src/components/views/InspectorView/InspectorView.tsxspecification/v2_ux_interfaces_plan.md§ "Out of this plan, but adjacent"specification/v2_ux_interfaces.md