Building Shared Memory for AI Agents in Notion: Lore

Lore is the tool we built for that gap: shared, persistent memory for agents, backed by Notion. It is open source under the MIT license at github.com/makenotion/lore. We wanted to make agent experiences durable concepts, stored in Notion, and accessible by both humans and agents. There were multiple items we wanted to ensure were not lost: Experiential knowledge. This is the kind of information that cannot be inferred by a future agent and must be re-experienced. The lengthy rediscovery phases can be short-circuited early or prevented entirely. Follow-up tasks. Often, when an agent is working on a specific task, the agent makes note of specific, unrelated, tangential information. Due to the nature of an agent session, this information is ephemeral by nature: if the human operator was not actively reading the transcript, these un-filed followup items are gone forever. Decisions records. Some teams have a healthy practice of keeping ADRs. Most teams strive for this, but arenāt able to do so in real-time as decisions evolve. Procedures. These are specific workarounds or recipes. Things that could be encoded into a skill but may have usage too infrequent to warrant it. These items become Notion pages that a later session can read back, or that a human can reference as needed. Any MCP-compatible agent harness can reference the vault, and as a result agent sessions are empowered by agents past. Native memory systems are hyper-localized. In-harness systems are often tied to a given harness or given model provider. File-backed systems are often localized to a single machine. We really wanted to experiment with the concept that the agents on one personās desk could learn from the experiences of another personās agentsāperhaps even from another part of the organization. We wanted a shared platform for the things that should be carried forward. *How it works* A Lore vault is a Notion page with five databases: Database What it stores Projects The project, person, team, or agent scope Topics The subject areas inside that scope Memories Narrative context, notes, procedures, tasks Entities Named things the memory graph can refer to Facts Structured subject-predicate-object assertions They have relations to one another, across these tables, to help in surfacing information and to help in fuzzy searching: for example, facts can have relations to topics or memories. This is an opinionated structuring of data, but structured data allowed for agents to have a predictable search structure. Agents access Lore through the MCP, with various lore-* MCP tools. Humans, however, get access to that same information either through Notion directly (after all, these are all Notion pages!), or via a Lore CLI. The innate design is driven largely through hooks, which are intended to make the standard path entirely hands-off: agent sessions start with relevant context, are prompted to store or fetch information as needed, do their work, and quietly save new information in the background. We werenāt interested in single-player solutions. Notion felt like the natural home for a team-focused, multiplayer service. The team already stores operational information in Notion, plans together, builds together, and more. Notionās built-in version control and version history mechanisms combined with its familiarity are added bonuses. We wanted the information vault to be human-centric, but agent powered.