Get started

Install Polign Recall, save a fact, correct it, and read back what was believed before the correction. It takes a few minutes and needs no model or embedding API key.

Install

You need Python 3.10 or later.

pip install polign-recall

pip also installs the polign_db package, which holds the polign and polign-server binaries. There is nothing else to download or start.

Save a fact, then correct it

This process saves an editor preference and then changes it:

from polign_recall import Client

with Client(local_dir="./recall-data") as memory:
    memory.remember("user", "prefers_editor", "vim")
    memory.remember("user", "prefers_editor", "neovim")

prefers_editor holds one value, so neovim replaces vim. A rule decides that, not a model.

Read it back from another process

Run a second process in the same folder. It reads the current value, the full history, and what was believed before the correction:

from polign_recall import Client

with Client(local_dir="./recall-data") as memory:
    print(memory.recall("user", "prefers_editor")[0].value)  # neovim

    events = memory.history("user", "prefers_editor")
    print([event.value for event in events])  # ['vim', 'neovim']

    # What was believed at the moment of the first statement.
    before = memory.recall("user", "prefers_editor", as_of=events[0].observed_at)
    print(before[0].value)  # vim

The correction did not erase vim. That is how you answer "what did the agent believe yesterday, and when did that change?"

The first client to open ./recall-data starts a local polign-server for it in the background, listening on localhost only. Later clients, in any process, share it. The memories stay in that folder after your program exits. Local databases work on Linux and macOS.

Forget something

with Client(local_dir="./recall-data") as memory:
    memory.forget("user", "prefers_editor", "neovim")

Forgetting removes the fact from current answers and keeps it in the history. It does not permanently delete the record.

Use it from your agent

Where your agent runsStart here
Claude Codepolign recall setup, then restart Claude Code. See Claude Code.
Any MCP hostLaunch polign mcp -memory-only -write from your host. See below.
LangGraphpip install recall-langgraph. See LangGraph.
LiveKit Agentspip install recall-livekit. See LiveKit Agents.
VapiSee Vapi.
Gogo get github.com/Polign/recall. See the Go reference.

Any MCP host

For hosts that use the common mcpServers format, point the host at the polign binary and a running server:

{
  "mcpServers": {
    "recall": {
      "command": "/absolute/path/to/polign",
      "args": ["mcp", "-memory-only", "-write"],
      "env": {
        "POLIGN_URL": "http://127.0.0.1:23000",
        "POLIGN_COLLECTION": "recall_demo"
      }
    }
  }
}

The agent gets five tools: remember, recall, forget, memory_history, and list_predicates. Leave out -write for a read-only connection.

Share memory across machines

A local folder is enough for one machine. To let agents on different machines share one memory, run polign-server against your own bucket (see Run polign_db), leave local_dir out, and set these variables:

VariableWhat it is
POLIGN_URLYour server's address
POLIGN_COLLECTIONThe collection that holds the memories
POLIGN_API_KEYOnly if the server requires a key

Agents share memory when they use the same server, collection, and namespace.

Next steps