Engram — AI agent memory system with SQLite+FTS5, MCP integration, and quality gates. Canonical distribution (formerly published as 'memorytrace').
Project description
Engram
Persistent memory for AI agents, backed by SQLite + FTS5.
Install
pip install engram-ms
Optional extras:
pip install "engram-ms[llm]"
pip install "engram-ms[semantic]"
pip install "engram-ms[mcp]"
pip install "engram-ms[full]"
The
memorytracedistribution name is the legacy alias still on PyPI:pip install memorytraceinstalls the same engine.
Simple CLI
The default CLI is engram. python -m engram is equivalent.
engram init
engram save "Minseong Jeong is the CTO of Galaxy Corp"
engram find "CTO"
engram who "Minseong Jeong"
engram remember "Minseong Jeong" "Interested in AI and robotics"
engram status
Advanced CLI
Use engram-advanced when you need structured options, JSON output, or a custom DB path.
engram-advanced --db ~/.engram/memory.db search "Galaxy Corp" --max-results 5
engram-advanced --json health
Python SDK
from engram.integrations.sdk import EngramSDK
with EngramSDK() as sdk:
sdk.start_session("assistant")
sdk.store("Minseong Jeong is the CTO of Galaxy Corp")
sdk.add_fact("Minseong Jeong", "Interested in AI and robotics")
result = sdk.search("Galaxy")
print(result.to_agent_context())
Source Checkout Compatibility
A repo-local python mem ... wrapper is kept for backward compatibility in source checkouts.
It forwards to the same simple CLI as engram, but it is not installed as a packaged console script.
Related packages
The engram namespace on PyPI is reserved for small, focused tools that share
this memory model. Sibling packages currently published from this workspace:
| Package | Status | Purpose |
|---|---|---|
engram-ms |
canonical (0.0.x placeholder, full engine in 0.1.x) |
The engram-named distribution — preferred install |
memorytrace |
legacy alias | The original distribution name; same engine |
Docs
docs/04-usage-guide/01-quickstart.mddocs/01-project-analysis/05-cli-commands.mddocs/01-project-analysis/09-setup-guide.md
Workspace Skill
A workspace-local skill package for generating a static project wiki tree lives at
.agents/skills/engram-tree.
Generate the site with:
python tools/run_engram_tree.py
python .agents/skills/engram-tree/scripts/build_engram_tree.py --project-root . --output-dir dist/engram-tree
Install the skill for Claude Code and Codex with:
python tools/install_engram_tree_skill.py --dry-run
python tools/install_engram_tree_skill.py --create-missing
Bridge to Claude Code / Codex CLI (engram-ctx)
After pip install engram-ms, register engram-ctx as a memory bridge in your CLI of choice:
# Claude Code
engram-ctx install claude-code
# Codex CLI
engram-ctx install codex
Both installers are idempotent. They register:
- MCP server
engramexposingengram_ctx_index,engram_ctx_search,engram_ctx_stats,engram_ctx_doctor,engram_ctx_purge(in addition to the existingmemory_*tools). - Lifecycle hooks
SessionStart,PreToolUse,PostToolUse,UserPromptSubmit,Stop. Large tool outputs (>500 chars) are auto-indexed intotool_observations(PII-masked, head/tail truncated). Recall viaengram_ctx_search. - Skill
engram-contextwith caveman-style output compression and routing rules.
For non-hook MCP clients (Cursor, Copilot CLI, OpenCode), use engram.integrations.mcp_middleware.EngramContextMiddleware directly.
Project details
Release history Release notifications | RSS feed
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 engram_ms-1.6.0.tar.gz.
File metadata
- Download URL: engram_ms-1.6.0.tar.gz
- Upload date:
- Size: 410.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f003b171897a3f1c0f8ea699d6fc8754831447e2d91db0853e9de7e8bfa0372
|
|
| MD5 |
00634f537c9af21ebd2ef9f2c76928ad
|
|
| BLAKE2b-256 |
8e1f6f92961b2fbcf18757b474dc2ff80a8b67a9bbe3f5343c4b668eaf738c58
|
File details
Details for the file engram_ms-1.6.0-py3-none-any.whl.
File metadata
- Download URL: engram_ms-1.6.0-py3-none-any.whl
- Upload date:
- Size: 232.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f32473f413060bf88705f88d869b5445937ded7784d2ee10e0a519f9c08b2443
|
|
| MD5 |
28fdb36b111ff9329711ae59bca8b487
|
|
| BLAKE2b-256 |
c5a73f26adfc18f11b2c9c5498f28de7d8e181a86cf8f3ed82b84b2177d07c60
|