Skip to main content

Maestro

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 the mmem interface;
  • skills/maestro-nerve/ for the compact mnerve workflow.

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

maestro_memory-0.3.0.tar.gz (458.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

maestro_memory-0.3.0-py3-none-any.whl (70.0 kB view details)

Uploaded Python 3

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

Hashes for maestro_memory-0.3.0.tar.gz
Algorithm Hash digest
SHA256 8990eb44d1025bf3ac4cab980ad8c3ba1616f2609f1a00aaed5c747a8bb5752d
MD5 6538b3ff62eb719a30b741e56c1ab93f
BLAKE2b-256 47111f692880aefcec6a319d3929e6d37160290fe93e33a42f9de4bb22968996

See more details on using hashes here.

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

Hashes for maestro_memory-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 60448266df0fdbc11ab477593a8b70f0c42228b559a2638653b3c85228a26d26
MD5 f44f868301667bc2a551f6f5f3dbdef9
BLAKE2b-256 91f4cc7f35e64f95d4d15f8ca2a89551de0958d133b8b8cf2c618d4a1781b5fd

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page