Tool Profiles
Engram supports tool profiles to load only the tools you need:Agent profile includes tools referenced in skill files and memory protocol instructions across all 4 supported agents (Claude Code, OpenCode, Gemini CLI, Codex).Admin profile contains tools only used in the TUI and CLI, not referenced in any agent instructions.
All Tools Overview
Core Memory Tools
mem_save
Purpose: Save structured observations proactively after significant work. Parameters:title(required): Short, searchable title (e.g. “JWT auth middleware”, “Fixed N+1 query”)content(required): Structured content using**What**,**Why**,**Where**,**Learned**formattype: Category —decision,architecture,bugfix,pattern,config,discovery,learning(default:manual)session_id: Session ID to associate with (default:manual-save-{project})project: Project namescope:project(default) orpersonaltopic_key: Optional topic identifier for upserts (e.g.architecture/auth-model)
- Exact duplicates are deduplicated in a rolling 15-minute window using normalized content hash + project + scope + type + title
- When
topic_keyis provided,mem_saveupserts the latest observation in the sameproject + scope + topic_key, incrementingrevision_count - Different topics must use different keys so they never overwrite each other
mem_search
Purpose: Full-text search across all sessions using SQLite FTS5. Parameters:query(required): Search query — natural language or keywordstype: Filter by type (e.g.bugfix,decision,architecture)project: Filter by project namescope: Filter by scope (projectorpersonal)limit: Max results (default: 10, max: 20)
FTS5 query sanitization wraps each word in quotes to avoid syntax errors. Query “fix auth bug” becomes
"fix" "auth" "bug".mem_context
Purpose: Get recent memory context from previous sessions. Shows recent sessions and observations. Parameters:project: Filter by project (omit for all projects)scope: Filter observations by scope —project(default) orpersonallimit: Number of observations to retrieve (default: 20)
- Session startup (recover previous work)
- After compaction or context reset (mandatory recovery step)
- When user asks “what were we working on?“
mem_session_summary
Purpose: Save comprehensive end-of-session summary using structured format. Parameters:content(required): Full session summary using Goal/Instructions/Discoveries/Accomplished/Files formatsession_id: Session ID (default:manual-save-{project})project(required): Project name
Progressive Disclosure Tools
Token-efficient memory retrieval pattern — don’t dump everything, drill in:1. mem_search
Find relevant observations (compact results with IDs).2. mem_timeline
Drill into chronological neighborhood of a specific result. Parameters:observation_id(required): The observation ID to center the timeline onbefore: Number of observations to show before the focus (default: 5)after: Number of observations to show after the focus (default: 5)
3. mem_get_observation
Get full untruncated content of a specific observation. Parameters:id(required): The observation ID to retrieve
Topic Key Workflow
Use this when a topic evolves over time (architecture, long-running feature decisions, etc.):mem_suggest_topic_key
Purpose: Suggest a stabletopic_key for memory upserts before saving.
Parameters:
type: Observation type/category (e.g.architecture,decision,bugfix)title: Observation title (preferred input for stable keys)content: Observation content (fallback if title is empty)
architecture/*for architecture/design/ADR-like changesbug/*for fixes, regressions, errors, panicsdecision/*,pattern/*,config/*,discovery/*,learning/*when detected
Session Lifecycle Tools
mem_session_start
Purpose: Register the start of a new coding session. Parameters:id(required): Unique session identifierproject(required): Project namedirectory: Working directory
mem_session_end
Purpose: Mark a session as completed with optional summary. Parameters:id(required): Session identifier to closesummary: Summary of what was accomplished
Additional Tools
mem_update
Purpose: Update an existing observation by ID. Supports partial updates. Parameters:id(required): Observation ID to updatetitle: New titlecontent: New contenttype: New type/categoryproject: New project valuescope: New scope (projectorpersonal)topic_key: New topic key (normalized internally)
Use
mem_update when you have an exact observation ID to correct. For evolving topics, prefer mem_save with topic_key (upsert pattern).mem_save_prompt
Purpose: Save user prompts — records what the user asked so future sessions have context about user goals. Parameters:content(required): The user’s prompt textsession_id: Session ID to associate with (default:manual-save-{project})project: Project name
mem_capture_passive
Purpose: Extract and save structured learnings from text output automatically. Parameters:content(required): Text containing a## Key Learnings:section with numbered or bulleted itemssession_id: Session ID (default:manual-save-{project})project: Project namesource: Source identifier (e.g.subagent-stop,session-end)
- Looks for sections like
## Key Learnings:or## Aprendizajes Clave: - Extracts numbered or bulleted items
- Each item is saved as a separate observation
- Duplicates are automatically detected and skipped
Admin Tools
These tools are NOT referenced in any agent skill or memory protocol. They’re used by the TUI, CLI, and manual curation.mem_delete
Purpose: Delete an observation by ID. Parameters:id(required): Observation ID to deletehard_delete: If true, permanently deletes the observation (default: false for soft-delete)
- Soft-delete (default): Sets
deleted_attimestamp. Observation is excluded from search, context, and recent lists. - Hard-delete: Permanently removes the observation from the database.
mem_stats
Purpose: Show memory system statistics. Returns: Total sessions, observations, prompts, and list of projects tracked.mem_timeline
See Progressive Disclosure Tools above.Server Instructions
Engram’s MCP server includes instructions that help MCP clients (especially Claude Code’s Tool Search) know when to search for these tools:Engram provides persistent memory that survives across sessions and context compactions. Search these tools when you need to: save decisions, bugs, architecture choices, or discoveries to memory; recall or search past work from previous sessions; manage coding session lifecycle (start, end, summarize); recover context after compaction. Key tools: mem_save, mem_search, mem_context, mem_session_summary, mem_get_observation, mem_suggest_topic_key.
Related
Terminal UI
Browse memories interactively with the TUI
Git Sync
Share memories across machines and team members
Privacy
Redact sensitive data with privacy tags
Quickstart
Install and configure Engram