Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Persistent memory compression system built for Claude Code. Claude-Mem seamlessly preserves context across sessions by automatically capturing tool usage observations, generating semantic summaries, and making them available to future sessions. This enables Claude to maintain continuity of knowledge about projects even after sessions end or reconnect. Install with a single command: Or install for…
⚠ The trust score below reflects the installer package claude-mem only. The bundled units are not individually verified or scanned — review them before use.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.
important_workflow3-LAYER WORKFLOW (ALWAYS FOLLOW):
1. search(query) → Get index with IDs (~50-100 tokens/result)
2. timeline(anchor=ID) → Get context around interesting results
3. get_observations([IDs]) → Fetch full details ONLY for filtered IDs
NEVER fetch full details without filtering first. 10x token savings.3-LAYER WORKFLOW (ALWAYS FOLLOW): 1. search(query) → Get index with IDs (~50-100 tokens/result) 2. timeline(anchor=ID) → Get context around interesting results 3. get_observations([IDs]) → Fetch full details ONLY for filtered IDs NEVER fetch full details without filtering first. 10x token savings.
No input schema was published for this tool.
searchStep 1: Search memory. Returns index with IDs. Params: query, limit, project, platformSource, type, obs_type, dateStart, dateEnd, offset, orderByStep 1: Search memory. Returns index with IDs. Params: query, limit, project, platformSource, type, obs_type, dateStart, dateEnd, offset, orderBy
No input schema was published for this tool.
timelineStep 2: Get context around results. Params: anchor (observation ID) OR query (finds anchor automatically), depth_before, depth_after, projectStep 2: Get context around results. Params: anchor (observation ID) OR query (finds anchor automatically), depth_before, depth_after, project
No input schema was published for this tool.
get_observationsStep 3: Fetch full details for filtered IDs. Params: ids (array of observation IDs, required), orderBy, limit, projectStep 3: Fetch full details for filtered IDs. Params: ids (array of observation IDs, required), orderBy, limit, project
No input schema was published for this tool.
session_start_contextRender the exact worker-mode SessionStart context for a project. Calls /api/context/inject and returns the same text hooks inject at startup. Params: project OR projects, platformSource, full, colors.Render the exact worker-mode SessionStart context for a project. Calls /api/context/inject and returns the same text hooks inject at startup. Params: project OR projects, platformSource, full, colors.
No input schema was published for this tool.
observation_addInsert a manual observation directly into server storage. Calls /v1/memories — does NOT enqueue generation. Server runtime only. Params: content (required), projectId (optional, falls back to settings), serverSessionId, kind, metadata.Insert a manual observation directly into server storage. Calls /v1/memories — does NOT enqueue generation. Server runtime only. Params: content (required), projectId (optional, falls back to settings), serverSessionId, kind, metadata.
No input schema was published for this tool.
observation_record_eventRecord an agent event into the server. Calls /v1/events — server inserts the event row, the outbox row, and enqueues a generation job atomically. Server runtime only.Record an agent event into the server. Calls /v1/events — server inserts the event row, the outbox row, and enqueues a generation job atomically. Server runtime only.
No input schema was published for this tool.
observation_searchFull-text search across generated observations using the server's GIN tsvector index (Phase 1). Calls /v1/search. Server runtime only. Params: query (required), projectId (optional), platformSource, limit (default 20, max 100).Full-text search across generated observations using the server's GIN tsvector index (Phase 1). Calls /v1/search. Server runtime only. Params: query (required), projectId (optional), platformSource, limit (default 20, max 100).
No input schema was published for this tool.
observation_contextGet top-N relevant observations for context injection. Returns matched observations AND a pre-joined context string suitable for prompt injection. Calls /v1/context. Server runtime only.Get top-N relevant observations for context injection. Returns matched observations AND a pre-joined context string suitable for prompt injection. Calls /v1/context. Server runtime only.
No input schema was published for this tool.
observation_generation_statusLook up the status of an observation generation job by id. Calls /v1/jobs/:id. Server runtime only. Returns the same payload as REST.Look up the status of an observation generation job by id. Calls /v1/jobs/:id. Server runtime only. Returns the same payload as REST.
No input schema was published for this tool.
smart_searchSearch codebase for symbols, functions, classes using tree-sitter AST parsing. Returns folded structural views with token counts. Use path parameter to scope the search.Search codebase for symbols, functions, classes using tree-sitter AST parsing. Returns folded structural views with token counts. Use path parameter to scope the search.
No input schema was published for this tool.
smart_unfoldExpand a specific symbol (function, class, method) from a file. Returns the full source code of just that symbol. Use after smart_search or smart_outline to read specific code.Expand a specific symbol (function, class, method) from a file. Returns the full source code of just that symbol. Use after smart_search or smart_outline to read specific code.
No input schema was published for this tool.
smart_outlineGet structural outline of a file — shows all symbols (functions, classes, methods, types) with signatures but bodies folded. Much cheaper than reading the full file.Get structural outline of a file — shows all symbols (functions, classes, methods, types) with signatures but bodies folded. Much cheaper than reading the full file.
No input schema was published for this tool.
build_corpusBuild a knowledge corpus from filtered observations. Creates a queryable knowledge agent. Params: name (required), description, project, types (comma-separated), concepts (comma-separated), files (comma-separated), query, dateStart, dateEnd, limitBuild a knowledge corpus from filtered observations. Creates a queryable knowledge agent. Params: name (required), description, project, types (comma-separated), concepts (comma-separated), files (comma-separated), query, dateStart, dateEnd, limit
No input schema was published for this tool.
list_corporaList all knowledge corpora with their stats and priming statusList all knowledge corpora with their stats and priming status
No input schema was published for this tool.
prime_corpusPrime a knowledge corpus — creates an AI session loaded with the corpus knowledge. Must be called before query_corpus.Prime a knowledge corpus — creates an AI session loaded with the corpus knowledge. Must be called before query_corpus.
No input schema was published for this tool.
query_corpusAsk a question to a primed knowledge corpus. The corpus must be primed first with prime_corpus.Ask a question to a primed knowledge corpus. The corpus must be primed first with prime_corpus.
No input schema was published for this tool.
rebuild_corpusRebuild a knowledge corpus from its stored filter — re-runs the search to refresh with new observations. Does not re-prime the session.Rebuild a knowledge corpus from its stored filter — re-runs the search to refresh with new observations. Does not re-prime the session.
No input schema was published for this tool.
reprime_corpusCreate a fresh knowledge agent session for a corpus, clearing prior Q&A context. Use when conversation has drifted or after rebuilding.Create a fresh knowledge agent session for a corpus, clearing prior Q&A context. Use when conversation has drifted or after rebuilding.
No input schema was published for this tool.
claude_mem_feedShow or toggle Claude-Mem observation feed statusShow or toggle Claude-Mem observation feed status
No input schema was published for this tool.
claude-mem-searchSearch Claude-Mem observations by querySearch Claude-Mem observations by query
No input schema was published for this tool.
claude-mem-recentShow recent Claude-Mem context for a projectShow recent Claude-Mem context for a project
No input schema was published for this tool.
claude-mem-timelineFind best memory match and show nearby timeline eventsFind best memory match and show nearby timeline events
No input schema was published for this tool.
claude_mem_statusCheck Claude-Mem worker health and session statusCheck Claude-Mem worker health and session status
No input schema was published for this tool.
24 of 24 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Persistent memory compression system built for Claude Code. Claude-Mem seamlessly preserves context across sessions by automatically capturing tool usage observations, generating semantic summaries, and making them available to future sessions. This enables Claude to maintain continuity of knowledge about projects even after sessions end or reconnect. Install with a single command: Or install for Gemini CLI (auto-detects ): Or install for OpenCode: Or install from the plugin marketplace inside…
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.