Skip to content
Agentmart
Submit a tool

Engram

Local-first persistent memory for AI agents — SQLite + local embeddings, MCP-native, no cloud.

Connector by HBarefoot · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 9
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/hbarefoot-engram

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Local-first persistent memory for AI agents — SQLite + local embeddings, MCP-native, no cloud.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
2 read · 3 write · 0 delete · 1 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 6

Read from the source code; the running server may list different tools.

Read 2 · Look things up without changing anything.

  • engram_recall
  • engram_status

Write 3 · Create, change, send or run things.

  • engram_context
  • engram_feedback
  • engram_remember

Not yet classified 1 · We could not tell from the name and description.

  • engram_forget

Tools (6)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • engram_context

    Build a single pre-formatted context block from relevant memories, ready to inject into a system prompt at session start. With a query it selects semantically relevant memories; with no query it returns the top memories by access frequency and recency. The block is rendered in the requested format and truncated to fit max_tokens. Returns: one formatted string (not an array) — contrast with engram_recall, which returns raw scored memory objects. Use when you want drop-in context text; use engram_recall when you need structured results to reason over.

  • engram_feedback

    Record a helpful/unhelpful vote on a recalled memory to tune future ranking. Updates the memory's aggregated feedback_score (−1 to 1), which feeds the recall score (weight 0.10); after 5+ votes it may auto-adjust the memory's confidence (strongly negative lowers it, strongly positive raises it). Returns: the updated feedback stats for that memory. Call right after acting on a memory from engram_recall to close the learning loop; to remove a bad memory outright, use engram_forget instead.

  • engram_forget

    Permanently delete one memory by id. Irreversible — also removes that memory's feedback rows. Returns: whether a memory with the given id was found and deleted; reports not-found without error if the id doesn't exist. Use when a memory is wrong, outdated, or the user asks you to forget it. If you're unsure, downvote with engram_feedback (helpful:false) instead of deleting.

  • engram_recall

    Retrieve memories relevant to a query, ranked by a hybrid score. Embeds the query, gathers candidates (FTS5 top-20 plus in-namespace embeddings, optionally time-filtered), and scores each by similarity×0.45 + recency×0.15 + confidence×0.15 + access×0.05 + feedback×0.10 + a 0.1 FTS boost, then filters by category/threshold and returns the top results. If embedding generation fails it falls back to FTS-only search. Reading a memory bumps its last_accessed and access_count. Returns: an array of memory objects — each with id, content, category, entity, confidence, namespace, tags, timestamps, scor…

  • engram_remember

    Store a durable memory (fact/preference/pattern/decision/outcome) that persists across sessions. Every write is scanned for secrets (16+ patterns — OpenAI/Stripe/AWS/GitHub/Slack/Google keys, private keys, connection strings, JWTs): by default detected secrets are redacted to [REDACTED] before storage, or the write is rejected if auto-redaction is disabled. Category and entity are auto-extracted when omitted, a local embedding is generated, and the content is deduplicated against existing memories. Returns: the memory id plus an outcome — "created" (new), "merged" (0.92–0.95 cosine to an exist…

  • engram_status

    Report Engram health and statistics. Read-only and parameter-free. Returns: memory counts by category and namespace, embedding-model status (name, cached/loaded state, size), the database location, and key config (default namespace, recall limit, confidence threshold, secret-detection on/off). Use as a diagnostics/health check — to confirm the model is loaded and see how many memories exist — before relying on recall.

Signals

Stars
9
Forks
1
Open issues
2
Weekly downloads
53
Last commit
Jul 7, 2026 (3 months ago)
Last release
Jul 6, 2026 (3 months ago)
Last package publish
Jul 6, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.HBarefoot/engram
Version
1.6.3
Auth
No auth
Packages
npm @hbarefoot/engram
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Engram MCP server. Agent Mart. https://agentmart.dev/connectors/hbarefoot-engram (last updated 2026-10-24)