Skip to main content
3ngram gives your AI assistant persistent memory and follow-through across sessions. Use these tools in plain language, no function syntax needed.
Tool renames: recall is now search_memories and search is now search_content. The old names still work but are deprecated and will be removed in a future release.
When multiple MCP servers are connected, prefix your request with “3ngram:” or “in 3ngram” so your AI routes to the right tools. If 3ngram is your only MCP server, plain language works fine.

Saving memories

Ask your AI to remember something:
“3ngram: Remember that we chose PostgreSQL for the database”
“Remember in 3ngram: we’re using Railway for deployment”
“3ngram: Remember this as a blocker for the engram project: the staging SSL certs aren’t provisioned”

Memory types

Be specific about the kind of memory:
TypeUse for
commitmentThings you said you’d do, with due dates
decisionChoices you’ve made and why
blockerWhat’s in your way
patternRecurring behaviors or observations
preferenceYour working style and tooling choices
contextGeneral background facts
“3ngram: Save this as a commitment due Friday: deliver the API review”

Recurring commitments

Add a recurrence to make a commitment repeat automatically:
“3ngram: Remember as a commitment due Friday, recurring weekly: write the team status update”
Supported frequencies: daily, weekly, monthly, yearly. Optional: interval (e.g. every 2 weeks) and end date. When you resolve a recurring commitment, 3ngram creates the next occurrence automatically. See Recurring Commitments for details.

Recalling memories

Ask naturally:
“3ngram: What do you remember about the engram architecture?”
“3ngram: Recall my recent decisions about deployment”

Brief mode

When scanning many memories:
“3ngram: Give me a brief recall of everything about engram”
Returns a compact list with one line per memory: ID, topic, type, and snippet. Then drill into specific ones:
“3ngram: Show me the full content of memories 42 and 44”
Workflow: scan briefly, then read what matters. Keeps conversations focused. Brief recall output looks like:
[42] architecture-decision — decision — Chose PostgreSQL for main DB [45] deployment-choice — context — Using Railway for infrastructure [48] api-review — commitment — Finish the API review by Friday

Filtering

By source

Every memory tracks where it came from:
SourceMeaning
manualYou or your AI saved it deliberately
hookAuto-captured by Claude Code hooks
autoSystem-generated (debriefs, consolidation)
“3ngram: Recall only my manually saved memories about engram”

By scope and project

“3ngram: What blockers do I have for the engram project?”
“3ngram: Brief recall of manual decisions about engram”

Commitments and due dates

Commitments support status tracking and due dates:
StatusMeaning
openActive, needs attention (default)
waitingBlocked on external input
scheduledIntentionally deferred for later
resolvedDone
“3ngram: Remember this commitment as waiting: blocked on security review from DevOps”
“3ngram: Save a scheduled commitment due 2026-04-01: migrate to the new API version”
Deferred commitments (waiting/scheduled) are excluded from the default commitments list and won’t trigger stale or overdue alerts.
“3ngram: Show me all commitments including deferred ones”

Resolving and managing

Mark things as done with an optional resolution note:
“3ngram: Resolve memory 42 with note: shipped in PR #85”
Check your status:
“3ngram: Show me my open commitments”
Commitments output:
Open Commitments (2): [42] Finish the API review (1 day) [project: engram] [38] Update deployment docs (5 days) [project: engram]
“3ngram: Any overdue commitments?”
“3ngram: Are there stale commitments I should follow up on?”

Entity extraction

Every memory is automatically scanned for named entities at save time:
Entity typeExamples
personTeammates, stakeholders, contacts
organizationCompanies, teams, clients
projectCodebases, products, initiatives
toolLibraries, services, platforms
conceptArchitectural decisions, patterns
Entity chips appear in search results and the Cmd+K command palette. No setup needed.

Search answers (Cmd+K)

Open the command palette with Cmd+K (or Ctrl+K) and type a question. 3ngram retrieves the top matching memories and documents, then synthesizes a cited answer:
Based on [1] and [2]: You chose PostgreSQL because of pgvector support and Railway’s managed Postgres offering.
Citations are numbered and link back to the source memory. The answer pulls from both memories and indexed content sources. This also works in the bot via the /ask command.

Google Docs tools

If Google Workspace is connected, 3ngram can create and export Google Docs directly from your AI chat — draft in your AI, publish to Drive. See Integrations for connection setup.

Agent actions

Agents can propose external actions that require your approval before execution:
“3ngram: Propose a GitHub comment on issue #42 saying the fix is deployed”
“3ngram: List my pending actions”
“3ngram: Approve action 7”
Supported action types: GitHub comments, Linear issue close. Actions stay pending until you explicitly approve or reject them via decide_action.

Automatic capture (Claude Code only)

If you use Claude Code CLI, 3ngram can auto-capture context via hooks:
HookEventWhat it does
Session startSessionStartLoads your briefing into session context
Post tool usePostToolUseCaptures git commits as memories
Auto-captured memories are tagged source=hook so they don’t mix with deliberate saves.

Setup

See Claude Code Hooks for environment variables, script paths, and configuration. Hooks never block your session (5-second timeout, silent failure). Sessions with no file changes are skipped.

Privacy

Wrap sensitive content in <private> tags to prevent storage:
“3ngram: Remember that the API key is <private>sk-abc123</private> and we use OAuth for auth.”
The private content is stripped before persistence.