Skip to content

Run as a client

Administrator edited this page Jul 15, 2026 · 2 revisions

Run as a client

Point your machine at a dmem server, one you hosted yourself (see "Run as a server") or one someone runs for you. The CLI, the agent hooks, and the MCP server all become thin clients of that daemon; you set the URL once and everything follows. Local versus remote is only the URL.

Local (same machine)

If you ran dmem service install (see "Run as a server"), this machine's config already points at the loopback daemon, so you are a client of your own local server. This is the one-machine setup the quickstart produces: server and client together, nothing else to do.

Remote

Install your token and you are done:

dmem login https://server:8077 <token>        # --insecure or --ca-cert <pem> for a self-signed cert
dmem recall "..."                              # now served by the remote, in your tenant
dmem status                                    # shows the connection
dmem logout                                    # disconnect (back to local)

dmem login writes ~/.config/dmem/config.toml (a [server] block, 0600). From then on the CLI and all the agent hooks talk to the server over TLS with that token instead of local memory. dmem setup can do this interactively.

If the token carries an agent label (see "Per-agent identity tokens" in "Run as a server"), this machine acts as that agent: it is served that agent's persona plus the shared governance, and its writes are attributed with an author:<agent> tag.

What "becomes a client"

After login, everything that reads or writes memory routes to the server:

  • the dmem CLI commands,
  • the lifecycle hooks wired into your agents (persona, recall, save nudge),
  • the dmem mcp stdio server.

So you can keep one shared memory on a host and have every machine and agent point at it, or run it all locally. The wiring of your agents does not change; only the server URL does.

Clone this wiki locally