Context
Part of #6228. Once telemetry data exists (companion issues), this issue builds the consumption side: a dashboard view so a maintainer can actually see which MCP tools get used, by whom (local vs. remote), and how often.
Requirements
Test Coverage Requirements
Standard UI test conventions for this codebase; mock the usage-data API response shape.
Deliverables
Expected Outcome
A maintainer can see real MCP usage data instead of it only existing in PostHog's own external dashboard.
Links & Resources
Context
Part of #6228. Once telemetry data exists (companion issues), this issue builds the consumption side: a dashboard view so a maintainer can actually see which MCP tools get used, by whom (local vs. remote), and how often.
Requirements
apps/loopover-ui(following the existingapp-panels/convention —maintainer-panel.tsxor a new sibling panel) showing per-tool call counts, success/failure rates, and a local-vs-remote split, over a selectable time window.AnalyticsCardShellfor card chrome,RefreshMetafor staleness,errorKind-awareStateBoundaryfor error states (see fix(ui): adopt AnalyticsCardShell in 5 analytics cards that hand-roll their own chrome (fixes CycleTimeCard's broken empty state) #6175/fix(ui): content-shaped loadingSkeleton (#793) adopted in only 1 of several list/table StateBoundary sites, causing layout jump #6178/fix(ui): config generator never mounts ConfigGeneratorYamlPreview, so it never shows the user the YAML it generates #6183 for the exact patterns now that they're fixed).apps/**.Test Coverage Requirements
Standard UI test conventions for this codebase; mock the usage-data API response shape.
Deliverables
Expected Outcome
A maintainer can see real MCP usage data instead of it only existing in PostHog's own external dashboard.
Links & Resources
apps/loopover-ui/src/components/site/app-panels/maintainer-panel.tsx(dashboard convention to follow)