Last updated: October 19, 2026
Short answer: Put the memory outside any one agent, in a store every agent can reach, and give each agent the same rules for where to read and write. With Fulcra, every agent you use (Claude, ChatGPT or Codex over MCP; Claude Code, cron jobs or notebooks over the CLI or Python library) connects to the same user-owned datastore, writes to agreed file paths or record types, and asks "what changed since I last looked?" before re-reading anything.
Isolated memory (each agent keeps its own) is simpler and avoids agents overwriting each other. Shared memory is worth it when agents need to build on each other's work: a research agent hands findings to a writing agent, or a scheduled agent leaves results for an interactive one. Most setups mix both: private scratch space per agent, plus a shared area for decisions, status and handoffs.
/agents/shared/decisions.md — what's been decided, by whom, when
/agents/shared/status.json — current state of each task
/agents/<agent-name>/ — that agent's private notesuvx fulcra-api data-updates "1 hour"
uvx fulcra-api file download /agents/shared/status.json -
Over MCP the same call is get_data_updates; over REST it's /data/v1/updates.uvx fulcra-api data-type create Event <name> --description "...".Written by Fulcra. We make one of the tools recommended on this page.