maestro-memory
Local memory for AI agents.
maestro-memory stores agent knowledge in one SQLite file and retrieves it with
keyword, semantic, graph, and temporal signals. The mnerve command is the
compact compatibility interface used by Maestro agents; mmem exposes the
lower-level memory tools.
The runtime is local by construction:
- data stays in
~/.maestro/memory/; - the optional warm daemon binds only to
127.0.0.1:19830; - the CLI has no hosted-memory or container fallback;
- BM25 recall works without an account, API key, or model download.
Install
Python 3.11 or newer is required.
pip install maestro-memory
For local embeddings and cross-encoder reranking:
pip install "maestro-memory[local]"
Use mnerve
The daemon starts locally on first use.
mnerve remember "The client approved the revised scope" \
--type decision \
--entity "Project Atlas" \
--entity-type project \
--idempotency-key "email:message-id"
mnerve understand "What did Project Atlas approve?" --limit 3
mnerve feedback query:17 fact:42
mnerve status
understand returns a short query:<id> token and copyable fact:<id> targets.
feedback records which results were useful so ranking can improve from real
use. Give retried writes the same --idempotency-key; they resolve to the
original episode without duplicating facts.
Use mmem
mmem add "User prefers snake_case" --type feedback
mmem search "coding preferences" --limit 5
mmem graph --entity "Project Atlas"
mmem status
Ingest files or directories:
mmem consolidate notes.md
mmem consolidate ./research-notes/
mmem consolidate ./documents/*.pdf
Local service
Commands auto-start a background daemon when needed. On macOS it can also be installed as a launch agent:
mmem server-install
mmem server-stop
mmem server-uninstall
The endpoint is fixed to http://127.0.0.1:19830. The client rejects non-local
endpoints.
Storage and backup
~/.maestro/memory/
config.toml
default/
mem.db
<project-hash>/
mem.db
Back up or move a memory store by copying its mem.db file while the daemon is
stopped.
Python API
from maestro_memory import Memory
memory = Memory()
await memory.init()
await memory.add(
"The pilot uses monthly observations",
source_type="conversation",
entity_name="Project Atlas",
entity_type="project",
)
results = await memory.search("pilot observation grain", limit=5)
for result in results:
print(result.fact.content, result.score)
await memory.close()
How retrieval works
query
├─ SQLite FTS5 / BM25
├─ local embeddings (optional)
├─ entity graph
└─ temporal activation
↓
rank fusion
↓
local cross-encoder rerank (optional)
Facts retain provenance, validity windows, importance, access counts, and entity links. Missing optional models reduce retrieval quality without making the store unavailable.
See Technical documentation for the schema and retrieval pipeline.
Agent skills
Reusable skill entrypoints are under skills/:
skills/maestro-memory/for themmeminterface;skills/maestro-nerve/for the compactmnerveworkflow.
Development
git clone https://github.com/maestro-ai-stack/maestro-memory.git
cd maestro-memory
python -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
./scripts/check.sh
The same check runs in pre-commit and CI. See CONTRIBUTING.md for contribution guidelines and SECURITY.md for private security reports.
License
MIT
Built by Maestro.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file maestro_memory-0.3.0.tar.gz.
File metadata
- Download URL: maestro_memory-0.3.0.tar.gz
- Upload date:
- Size: 458.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8990eb44d1025bf3ac4cab980ad8c3ba1616f2609f1a00aaed5c747a8bb5752d
|
|
| MD5 |
6538b3ff62eb719a30b741e56c1ab93f
|
|
| BLAKE2b-256 |
47111f692880aefcec6a319d3929e6d37160290fe93e33a42f9de4bb22968996
|
File details
Details for the file maestro_memory-0.3.0-py3-none-any.whl.
File metadata
- Download URL: maestro_memory-0.3.0-py3-none-any.whl
- Upload date:
- Size: 70.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60448266df0fdbc11ab477593a8b70f0c42228b559a2638653b3c85228a26d26
|
|
| MD5 |
f44f868301667bc2a551f6f5f3dbdef9
|
|
| BLAKE2b-256 |
91f4cc7f35e64f95d4d15f8ca2a89551de0958d133b8b8cf2c618d4a1781b5fd
|