Your Claude doesn't remember yesterday. .fafm is the file that fixes that — IANA-registered, cross-vendor, offline-first. Open the same memory in grok-faf-voice — same facts, both directions tested.
Not in Anthropic's directory yet (review pending). Until then, install from the FAF marketplace:
claude plugin marketplace add Wolfe-Jam/faf-plugins
claude plugin install faf-memory@faf-pluginsThe plugin wires the faf-memory-mcp server into Claude Code via uvx, exposing five tools.
One local MCP server, faf-memory-mcp==0.1.1, started with uvx (downloaded from PyPI on first run). It reads and writes a .fafm file on your machine and makes no network calls of its own. The plugin collects no data. Support: team@faf.one.
Prerequisite:
uv— the plugin launches its MCP server withuvx. First run builds dependencies (~90s); warm starts are instant.
| Tool | What it does |
|---|---|
etch(text, id?, type?, priority?, tags?) |
Write a durable fact. O(1) dedup by id. |
recall(query?, type?, tags?, min_priority?, limit?) |
Filter (substring + type + tags + priority floor), rank by priority then recency. |
list_facts() |
Enumerate all facts (no filter, no rank). |
save_soul(path?) |
Persist to a .fafm file. |
load_soul(path?) |
Load a .fafm from disk. |
Memory lives in .fafm — plain YAML, IANA-registered. Diffable like code. Portable to any tool that reads the format.
- Your agent doesn't ask "what is this project?" twice in the same week.
recall("X")surfaces what you etched last session, not just the current one.- The
.fafmfile grows readably — open it, diff it, share it. - Open the same file in
grok-faf-voice— same facts. Cross-vendor proven.
.fafm is a structured source. It works alongside Claude Code's own memory, not against it:
claude-md-managementmaintains the renderedCLAUDE.md;.fafmis its memory sibling- Community
rememberkeeps conversational daily logs;.fafmis its structured peer
PML is the standard underneath — IANA-registered, cross-vendor, offline-first.
400+× faster type-filter queries vs grep on a real 492-file AI memory corpus. Falsifiable methodology + scripts + sanitized pilot at Wolfe-Jam/faf-memory-proof — reproduce in 30 seconds with one paste.
Biases toward deterministic recall (substring + type + tags + priority + recency) over semantic recall. For semantic / LLM smart-merge, see hosted namepoints in claude-fafm-sdk. Offline-first ≠ offline-only.
- This plugin —
faf-memory— wrapsfaf-memory-mcp Wolfe-Jam/faf-memory-mcp— the MCP serverWolfe-Jam/faf-memory-proof— the falsifiable receiptWolfe-Jam/faf-plugin— sibling:.fafcontext (FCL)claude-fafm-sdk— the open Python SDKWolfe-Jam/faf— the format spec + IANA registration
MIT.