MemtraceDOCS

memtrace ui

Serve the dashboard on its own against an engine that is already running, without indexing, watching, or taking workspace ownership.

Usage#

memtrace ui [--engine <url>]

Serves the dashboard and nothing else. It attaches to an engine that is already running, does not index, does not arm file watchers, and does not take workspace ownership โ€” so the engine and the dashboard can be started, stopped, and restarted independently of each other. It runs until you stop it with Ctrl-C or SIGTERM.

Attach to the workspace engine already running here
memtrace ui
Attach to a specific engine
memtrace ui --engine http://127.0.0.1:50051
FlagDescription
--engine <url>MemDB endpoint to attach to. Both --engine <url> and --engine=<url> are accepted. Without it, the running workspace owner's engine is used.
-h, --helpPrint usage and exit.

When to use it#

  • A status dashboard that should stay up across editor restarts.
  • Serving the dashboard from a different machine than the one running the engine.
  • Restarting the dashboard without disturbing indexing, or restarting the engine without losing the dashboard.

Compared with start and mcp --ui#

memtrace startmemtrace mcp --uimemtrace ui
Serves the dashboardYesYesYes
Indexes and watchesYesNoNo
Takes workspace ownershipYesCan adoptNo
Serves MCP to a clientOver HTTPOver stdioNo
LifetimeUntil stoppedThe client's sessionUntil stopped

Before this command, attaching a dashboard to a live engine meant running memtrace mcp --ui, which is an MCP server built for an editor session. It works, but it exits with the client that spawned it, which is not what a persistent dashboard needs.

Environment variables#

VariableDefaultDescription
MEMTRACE_UI_HOST127.0.0.1Bind address. Loopback by default. The dashboard API is unauthenticated, so set this to 0.0.0.0 only when you intend the dashboard to be reachable from other hosts, and put it behind something that authenticates.
MEMTRACE_UI_PORT3030Port to serve on.
MEMTRACE_MEMDB_ENDPOINTresolvedEngine endpoint, equivalent to --engine. The flag wins when both are set.
HEADS UP

The dashboard REST API is unauthenticated and exposes graph, episode, and search data. A non-loopback bind makes it readable by anything that can reach the port.

Gotchas#

  • It does not start an engine. If nothing is serving MemDB, start one with memtrace start first.
  • It does not index, so a repository that has never been indexed will show an empty graph. That is reported as an empty state rather than an error.
  • memtrace stop targets the workspace daemon, not this process. Stop it with Ctrl-C or by signalling it directly.