llama3.2:3b + nomic-embed-text · Runs fully local
A lightweight local memory system that automatically extracts facts from your Claude Code sessions and makes them available in every future session.
Every Claude Code session ends with a Stop hook that silently extracts, embeds, and stores facts in the background — so Claude remembers without you doing anything.
Claude Code's Stop hook fires at the end of every session. It reads the last 4,000 characters of the transcript JSONL.
llama3.2:3b runs locally via Ollama, extracting only facts worth remembering long-term — preferences, decisions, project details.
Each fact is embedded with nomic-embed-text. Cosine similarity at 0.92 threshold prevents near-duplicates from piling up.
New facts land in ~/.abhimem/memory.db — a local SQLite database. No cloud, no API keys, no accounts.
A MEMORY.md index loads automatically. Mid-session, Claude calls recall to semantic-search across all stored memories.
Everything runs on your machine using open-source models. abhimem never phones home.
The Stop hook exits in milliseconds. Extraction runs in a detached subprocess so it never slows down your Claude Code responses.
Vector similarity at 0.92 threshold. If a fact is already known, it's skipped. Your memory stays clean, not noisy.
Six tools available in every session: remember, recall, forget, list, extract, and sync to Obsidian.
Export all memories to a Claude Memory.md in your Obsidian vault. Import notes back in from a Memory Inbox folder.
Memories appear as orange nodes in the notesgraph knowledge graph — visualize how Claude's memory connects to your notes.
SQLite + Ollama + FastMCP. No containers, no paid APIs, no cloud sync. Your data lives in ~/.abhimem/ forever.
Once installed, these tools are available in every Claude Code session via the FastMCP server running on localhost:8765.
| Tool | Description |
|---|---|
| mcp__abhimem__remember | Store a memory manually. Params: text, category (preference / task / project / person / general), source. |
| mcp__abhimem__recall | Semantic search over all memories. Returns top matches with similarity scores. Params: query, limit. |
| mcp__abhimem__list_memories | List recent memories, optionally filtered by category. Returns paginated results. |
| mcp__abhimem__forget | Delete a specific memory by ID. Use after a daily review to remove junk or outdated facts. |
| mcp__abhimem__sync_to_obsidian | Export all memories to Claude Memory.md in your Obsidian vault, grouped by category. |
| mcp__abhimem__import_from_obsidian | Import .md files from your Obsidian Memory Inbox/ folder, embedded and stored automatically. |
Requires macOS, Python 3.9+, and Ollama. The installer handles everything else — models, LaunchAgent, MCP registration, Stop hook.
abhimem connects with the apps already in your workflow.
Memories appear as orange nodes in the notesgraph knowledge graph alongside your notes. Visualize how Claude's memory connects to what you've written — no config needed.
github.com/AbhiPoluri/notesgraph →Sync all memories to a Claude Memory.md file in your vault. Drop notes into Memory Inbox/ to import them back into abhimem.
The Stop hook fires after every session. MCP tools are available in every conversation. Memories load at session start via MEMORY.md auto-injection.
Install in 60 seconds. Runs silently forever.
Download abhimem