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.
Metadata
Release files for maestro-memory 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| maestro_memory-0.3.0.tar.gz | 458.1 kB | Without provenance | Details for maestro_memory-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| maestro_memory-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for maestro_memory-0.3.0-py3-none-any.whl |
Total release size: 528.0 kB
Release files / maestro_memory-0.3.0.tar.gz
| Download URL | maestro_memory-0.3.0.tar.gz |
|---|---|
| Size | 458.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8990eb44d1025bf3ac4cab980ad8c3ba1616f2609f1a00aaed5c747a8bb5752d
|
|
BLAKE2b-256 checksum How to use checksums |
47111f692880aefcec6a319d3929e6d37160290fe93e33a42f9de4bb22968996
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.14
|
Release files / maestro_memory-0.3.0-py3-none-any.whl
| Download URL | maestro_memory-0.3.0-py3-none-any.whl |
|---|---|
| Size | 70.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
60448266df0fdbc11ab477593a8b70f0c42228b559a2638653b3c85228a26d26
|
|
BLAKE2b-256 checksum How to use checksums |
91f4cc7f35e64f95d4d15f8ca2a89551de0958d133b8b8cf2c618d4a1781b5fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.14
|
Security for maestro-memory 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.