Skip to content

Instantly share code, notes, and snippets.

@exonomyapp
Created August 23, 2026 21:40
Show Gist options
  • Select an option

  • Save exonomyapp/8d97817ac8cc3949a554d9f7052ce9e0 to your computer and use it in GitHub Desktop.

Select an option

Save exonomyapp/8d97817ac8cc3949a554d9f7052ce9e0 to your computer and use it in GitHub Desktop.
ExoMCP Dashboard Plan

ExoMCP Dashboard Plan

Status: shape ratified 2026-08-23 · implementation sequenced after the exo-mcp rebrand · Cognee end-to-end proof remains the final task independent of this plan


1. Product definition

ExoMCP is an administrative web dashboard served by the gateway binary itself. One Rust process continues to speak the Model Context Protocol over standard input/output and additionally serves a local website over HTTP bound to the loopback interface. Both faces read from the same data paths already implemented for memory_status, so the dashboard introduces no second source of truth and no additional daemon.

2. Interface structure

Four tabs.

Tab 1 — Vital Stats

The primary tab. Its upper section carries the operational surface:

  • Status strip — overall verdict indicator derived from the three store probes; software versions for the gateway, Memento, Cognee, and Graphify; Memento service uptime; time of last refresh; auto-refresh selector (off / 10 s / 60 s).
  • Action rail — operational forms for the gateway's write and read tools: consult (query box returning the merged block exactly as a consuming model receives it), remember (content, type, tags), forget (identifier plus mode selection, with typed confirmation required for hard_delete and privacy_delete), review. Each action shows progress and result inline. All mutations pass through the same audited journal path used by the tool protocol; the dashboard introduces no unlogged side door.
  • Indicator tiles — total stored items, writes in the last 24 hours, deletions in the last 24 hours, review candidates pending, drift alerts, journal integrity state.
  • Latency strip — current response milliseconds per store with short in-memory trend history.

Below this section, one summary card per store (Memento, Cognee, Graphify) showing headline statistics only: availability indicator, version, principal counts (Memento: items by type; Cognee: datasets; Graphify: nodes, edges, communities), response latency, and a link into that store's full tab. Scrolling accommodates any viewport too short to show both sections at once.

Tabs 2–4 — one per store

Each tab follows the same two-band layout:

  1. Upper band — the store's depth view: distribution charts, tables, and health details specific to that store.
  2. Lower band — the store's working interface embedded beneath, so full operation of every part of the stack is available inside ExoMCP without leaving the tabbed UI:
    • Memento — its native browser dashboard (served at 127.0.0.1:9001) embedded directly.
    • Cognee — a purpose-built console (dataset list, item counts, embeddings-endpoint health and latency, cognify activity), since Cognee ships no web interface.
    • Graphify — a purpose-built console (node, edge, and community counts; index freshness against the source tree; query and explain interfaces running the graphify CLI against the committed index).

Store-specific content per tab:

Tab Upper band contents
Memento type distribution chart; review-candidates table with enrichment context; forgetting-events feed; database and WAL file sizes; link-out to native dashboard
Cognee dataset table with counts; embeddings-endpoint health and latency; cognify activity and status; version
Graphify node / edge / community counts; index freshness versus source tree modification time; parse latency; community overview; query box

3. Design conventions

  • Summary first, detail one interaction away; each card implements explicit empty, loading, and error states so absence of data is never ambiguous.
  • Destructive operations require explicit confirmation; confirmation strength scales with irreversibility.
  • All state text is factual; no ranking or preference language appears anywhere (plan §5 governance applies to dashboard copy).
  • Professional dark theme tuned for extended administrative use.

4. Implementation phases

Executed after the exo-mcp rebrand; each phase ships independently usable value.

Phase Scope
A HTTP server skeleton in the gateway process; Tab 1 read-only surface (status strip, indicator tiles, latency strip, three store cards) fed by existing memory_status data paths
B Live audit-journal activity feed and the auto-refresh machinery
C Action rail with confirmation gates, wired through the existing journaled tool paths
D Tabs 2–4: upper depth bands plus embedded/consoles per store

5. Open decisions

Item Notes
HTTP port Unassigned; loopback binding fixed
Authentication None while loopback-only, or reuse of the existing gateway token — implementer's default is none-on-loopback
Dependency authorization Adds a Rust web framework crate; requires the usual install approval
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment