Sign in Get build updates
Shared memory for AI agent teams

No shift starts from zero.

Every agent on your team reads and writes one log. A shift opens with a Brief, work is written down as it happens, handoffs stay open until someone accepts them, and a person signs off on anything that can’t be undone.

In design. Running on our own agent fleet today. No launch date or pricing yet.

Connect an agent

One snippet per host. Restart the agent; its first call starts a shift.

Run in a terminalComing soon
claude mcp add logmem --scope user \
  -e LOGMEM_SPACE=your-space -e LOGMEM_AGENT=quill \
  -e LOGMEM_REST_URL=your-redis-url \
  -e LOGMEM_REST_TOKEN=space-token \
  -- npx @logmem/mcp
The @logmem/mcp package isn’t on npm yet. This is the command it will use.
~/.codex/config.tomlComing soon
[mcp_servers.logmem]
command = "npx"
args = ["@logmem/mcp"]
env = { LOGMEM_SPACE = "your-space", LOGMEM_AGENT = "atlas",
        LOGMEM_REST_URL = "your-redis-url",
        LOGMEM_REST_TOKEN = "space-token" }
Needs the npm package, which isn’t published yet.
.cursor/mcp.jsonComing soon
{ "mcpServers": { "logmem": {
  "command": "npx", "args": ["@logmem/mcp"],
  "env": { "LOGMEM_SPACE": "your-space", "LOGMEM_AGENT": "relay",
           "LOGMEM_REST_URL": "your-redis-url",
           "LOGMEM_REST_TOKEN": "space-token" } } } }
Needs the npm package, which isn’t published yet.
Settings › Connectors › Add custom connectorRemote MCP
https://logmem.si/mcp
Claude asks you to sign in to LogMem and pick a space; the connection can only use that space. Spaces aren’t open for sign-up yet.

Product demo

One working day, as the log sees it.

Field Notes Co. is a made-up newsletter with four agents: quill drafts, atlas fact-checks, relay sends, tally counts. Watch a shift start, change hands, stop for a person, and wrap up.

job:issue-14 Demo data
quill · shift 0412 · carried forward: last Recap
startedquill (via claude-code)Started a shift. Brief: last Recap, 2 open jobs, nothing waiting.
shift quillShift-0412
How it works

A few plain words, used the same way by every agent.

LogMem is an MCP server. Agents call its tools; people read the result. If an agent forgets a habit, LogMem keeps it for them.

Beginning of a shift

Start, then Brief

The agent becomes who it is and reads its last Recap, what it was doing, recent entries and any handoffs waiting for it. If it skips this, its first call starts the shift anyway.

logmem_start agent: "quill"
During the work

Note, Handoff, Ask

Notes record what changed. A Handoff passes work to another agent and stays open until they accept it. Ask stops the agent and shows a person the exact action before anything irreversible runs.

logmem_handoff to: "atlas"
End of a shift

Recap

The agent leaves notes and next steps for whoever comes next. Idle for 30 minutes? LogMem writes the Recap itself, so the next Brief is never empty.

logmem_recap notes: "…"

Switch who’s working with one line.

Type logmem start atlas in the middle of a session. LogMem writes quill’s Recap, ends that shift and starts atlas with a Brief. Every entry after that is signed “atlas (via claude-code)”.

quill
recap → start
atlas
Use cases

Made for work that changes hands.

Solo builder, several agents

Claude Code in one terminal, Codex in another, Cursor in the editor. They share one log, so each knows what the others did and you stop pasting context between them.

  • Switch persona mid-session with logmem start
  • Every entry says which host wrote it

Small team with a human approver

Agents do the work. One person approves the steps that can’t be taken back: sending, paying, deleting, publishing. They see the exact action and who asked for it.

  • Approved and completed are tracked separately
  • Rejections and deferrals stay on the record

Agency with one space per client

Give each client its own space. An agent connected to one space can’t read another, so one client’s memory never shows up in another client’s work.

  • The connection sets the space; no tool takes a space argument
  • Each space can live in a different Redis
Trust

Your data, with a name on every line.

Your Redis

Point LogMem at Upstash or any Redis you run. Entries are stored there, under keys you can inspect yourself. Hosted spaces are planned, not live.

Every write attributed

Each entry records who wrote it, through which host, and when, to the millisecond.

atlas (via claude-code)09:40:12.381trail handoffIssue14

Approvals before irreversible actions

An agent asks before anything it can’t undo, then waits for an entry that records the decision. In v0 the agent honours the wait; server-side enforcement is planned.

A read-only web app

The app shows the log, jobs and pending decisions. It can’t edit or delete entries, so what you see is what the agents wrote.

Connects over
MCP: stdio for local agents, Streamable HTTP with OAuth for hosted ones
Storage
Your Redis: Upstash REST, or redis:// over TCP
Isolation
One space per connection; no cross-space reads
Timestamps
Milliseconds everywhere, in order
Status
In design v0 running on our own fleet
Built on ACMI

An open protocol underneath.

LogMem implements ACMI, the MIT-licensed Agentic Context Memory Interface, and passes its conformance suite. Agents that already speak ACMI keep working: compatibility mode reads their history and accepts their calls.

LogMem word → ACMI
logmem_start   acmi_spawn
logmem_brief   acmi_bootstrap
logmem_note    acmi_event
logmem_recap   acmi_rollup_set
trail          correlationId
origin         parentCorrelationId

Get build updates.

One email when there’s something you can try.

Sign-ups aren’t connected yet. Nothing you enter here is sent or saved.