Everything you need to install rmbr, use Memory and Index, connect it over MCP, and run it fully offline.
Install rmbr from PyPI:
pip install rmbr
Three lines is the whole API for the common case:
from rmbr import Memory
mem = Memory("agents.db", namespace="assistant")
mem.remember("user prefers dark mode and short answers")
mem.recall("user preferences")You don't need to create agents.db first. Memory(path, ...) creates the file, schema included, the moment you call it, as long as the directory already exists.
Add document search with Index. It shares the same .db file as Memory:
from rmbr import Index
idx = Index("agents.db")
idx.add_files("docs/") # .py, .md, and plain text each get an appropriate splitter
hits = idx.search("how does the policy engine work?", k=5)
hits[0].text, hits[0].score, hits.timings # per-stage latency, always visible
Lock down multi-agent access with Policy. It denies by default, so two agents stay apart without any extra configuration:
from rmbr import Memory, Policy
policy = Policy()
policy.allow("supervisor", read="*") # supervisor can read every namespace
mem = Memory("agents.db", namespace="coder", policy=policy)
# coder can only read/write its own namespace unless explicitly grantedFramework adapters each lazily import their target framework, only when you call them:
# LangChain (pip install langchain-core)
retriever = idx.as_langchain_retriever(k=5)
retriever.invoke("how do I deploy?")
# LlamaIndex (pip install llama-index-core)
retriever = idx.as_llamaindex_retriever(k=5)
# LangGraph BaseStore (pip install langgraph-checkpoint)
from rmbr.integrations.langgraph import as_store
store = as_store("agents.db")
# mem0-compatible drop-in, no mem0ai dependency
from rmbr.integrations.mem0_compat import Memory # was: from mem0 import Memory
Or export tool definitions for a hand-rolled agent loop:
tool = idx.as_tool() response = client.messages.create(..., tools=[tool.to_anthropic()]) result = tool.call(**tool_use_block.input)