Local-first memory for AI agents

Your agents' memory never leaves the box.

One local SQLite file. Sub-millisecond recall, zero network calls, zero per-recall cost. memorycrystal.ai, but the data stays on your machine.

$ curl -fsSL https://locamem.com/install | bash
No account. No keys. Spins up a local SQLite file and an MCP server.
Live · in-browser · 0 network calls

Watch the ranker think. Locally.

This is the real Locamem ranker running client-side. Type a query, get hits back with a per-facet score breakdown — content similarity, keyword, salience, temporal. Open your network tab: nothing leaves this page. That's the whole product in one widget.

One line, no account

Install now. Stay local.

Spins up a local SQLite file and an MCP server. No account, no keys, no signup wall.

$ curl -fsSL https://locamem.com/install | bash
Two layers, local

A working buffer that lives now. A crystal that lasts.

Same two-layer model the cloud guys use, with one difference: both layers sit on your disk. Nothing is staged in someone else's database first.

Working buffer · in-session, in RAM

The live turn

The live transcript: messages, tool calls, intermediate facts. The agent's short-term attention, not its long-term record — nothing leaks into permanent state.

  • Lives in RAM for the session
  • Zero round-trips to read
  • Cleared on exit
The crystal · on-disk, durable

One SQLite file

Worth-keeping facts get distilled out of the buffer into one SQLite file you can copy, diff, back up, or rm. Survives restarts, machines, and you.

  • FTS5 + SimHash + optional on-device embeddings
  • valid_from / valid_to history — never destructive
  • Queryable with sqlite3 at 3am

Cloud products split short-term and long-term across a network boundary; here the boundary is a function call, and both halves stay on the box you can audit.

From conversation to memory

Six steps, zero network calls

Every step runs on-device. Drop a packet sniffer on the box and you'll watch nothing leave.

Why local-first

Locamem vs. cloud agent memory

Same product shape. Opposite trust model. Pick local-first when proving zero egress matters more than someone else running the database.

 Locamem (local-first)Cloud agent memory
MCP-native

Works with your agents

Locamem ships an MCP server over stdio and streamable-HTTP. Point any MCP client at it and your agent captures and recalls automatically — no SDK, no glue code.

# add Locamem to Claude Code (stdio)
claude mcp add locamem -- python -m ha5h.mcp.server --crystal ~/.locamem

# or run the HTTP transport for shared / multi-client use
python -m ha5h.mcp.server --transport http --port 3100
# -> point any MCP client at http://127.0.0.1:3100/mcp
stdio · local process

Spawned as a child

The agent spawns Locamem as a child process and reads/writes one SQLite file. Nothing binds a port, nothing leaves the box. Works in Claude Code, Claude Desktop, Codex, Cursor, or any MCP client.

streamable-HTTP · shared instance

One server, many clients

Run one server, attach many clients. Bind to 127.0.0.1 so it never accepts a non-local connection.

Local-first, your way

Three ways to deploy. Cloud is never one of the defaults.

The memory is a single SQLite file you own. Pick how strictly you want to lock it down. Sync is opt-in, off until you turn it on, and it runs on your hardware.

Self-host · default

One line, one file

One file under your home directory. Back it up by copying the file, move it by moving the file, inspect it with any sqlite3 client. No accounts, no keys, no per-recall billing.

Air-gapped · strict

Network physically cut

Disable the optional embedding-model download and sync; runs with the network cut. Same SimHash + FTS5 ranker, same recall. Built for SCIFs, regulated VPCs, and laptops on planes.

Self-hosted sync · opt-in

Your hardware only

Replicate the crystal across your own machines, point-to-point, no third-party processor in the path. Off by default.

Built for the box that can't leak

Where a hard data boundary is the requirement

Three places where "prove the data never left" is not a nice-to-have.

Questions

What teams ask before they install

Install now. Stay local.

Run it air-gapped and watch the network tab stay empty.

No account. No keys. One SQLite file and an MCP server, on your machine.

$ curl -fsSL https://locamem.com/install | bash