explaingit

edihasaj/universal-memory-protocol

18TypeScriptAudience · developerComplexity · 2/5Setup · easy

TLDR

Universal Memory Protocol (UMP) is an open standard and TypeScript library for sharing AI agent memories across different tools. It lets Claude Code, ChatGPT, and other agents read and write memories in one portable format so memories can move between systems and be audited or backed up.

Mindmap

mindmap
  root((repo))
    What It Does
      Portable AI memory format
      Six core operations
      Storage backend swaps
    Core Operations
      recall remember get
      revise forget capabilities
    Storage Adapters
      JSON Markdown files
      PostgreSQL SQLite Redis
      Vector databases
    Conformance Levels
      L0 file format only
      L3 signed records streams
    Setup
      npm install
      Default JSON file
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add a shared memory backend to a Claude Code and ChatGPT workflow so both agents read and write from the same portable memory store.

USE CASE 2

Replace a custom agent memory format with UMP so memories become portable across tools and can be backed up as plain JSON or Markdown files.

USE CASE 3

Use the SQLite adapter to add UMP memory management to an existing agent without changing the database schema.

USE CASE 4

Build a conformance-L3 memory server with signed records and subscription streams for an enterprise agent deployment that requires auditing.

Tech stack

TypeScriptPostgreSQLSQLiteRedis

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

Universal Memory Protocol (UMP) is an open standard for how AI agents store and retrieve memory. Today, different AI tools (Claude Code, Codex, ChatGPT, local agents) all store memories in different formats with different rules, which means memories cannot move between them and are hard to audit or back up. UMP proposes one shared format and a small set of operations that any agent or memory backend can adopt. The protocol is positioned as the third interoperability layer for AI agents. MCP (Model Context Protocol) standardizes tool access, A2A standardizes how agents coordinate with each other, UMP handles memory portability. It is not a database and does not dictate how memories are ranked or searched internally. Those choices stay with each implementation. The six core operations are: recall (search memories by query and scope), remember (write a new memory), get (fetch a specific memory by ID), revise (update a memory while preserving the old version), forget (mark a memory as deleted with a reason), and capabilities (negotiate what the server supports). The record format tracks not just the text content but also provenance (who wrote it, by what method), scope (which project or user it belongs to), and lifecycle metadata. The TypeScript package ships with storage adapters for plain JSON files, Markdown files, PostgreSQL, SQLite, Redis, and several vector databases. The default is a local JSON file, which requires no configuration and works as a starting point. Switching to a different backend is a one-line change. The package is available on npm as @universalmemoryprotocol/core and can be added to any MCP-compatible AI tool with a few lines of configuration. Conformance levels run from L0 (just the portable file format, no server needed) through L3 (signed records, feedback tracking, and subscription streams). The repository is written in TypeScript and is at version 0.1.

Copy-paste prompts

Prompt 1
I want to add UMP to my Claude Code setup so it persists memories between sessions. Show me the configuration lines to add @universalmemoryprotocol/core as an MCP tool.
Prompt 2
Using the UMP TypeScript package, write a recall call that searches for memories about my current project scoped to a specific workspace ID.
Prompt 3
How do I switch the UMP storage backend from the default JSON file to a local SQLite database without changing any other agent configuration?
Prompt 4
In UMP, what does the revise operation do differently from forgetting then re-remembering, and when should I use it to update an outdated memory?
Open on GitHub → Explain another repo

← edihasaj on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.