Introduction
Universal Memory Protocol (UMP) is a transport-neutral memory protocol for AI agents: a small set of negotiated operations over a portable, signed, bi-temporal record format. Any harness can speak it over MCP, HTTP, or files; any store can serve it; the user owns and can export the result.
The problem
Section titled “The problem”Every agent harness - Claude Code, Codex, ChatGPT, and the open-source long tail
- is reinventing memory in a private, non-portable way. Your corrections, preferences, and project knowledge are trapped inside whichever tool learned them. There is no shared way for an agent to recall what another agent already knows about you, or for you to take your memory with you when you switch tools.
The gap
Section titled “The gap”Three things are true today:
- MCP has no memory primitive. It standardized tools, resources, prompts - not memory. “Memory” is just a bespoke tool surface bolted onto MCP, with different verbs in every product.
- The interchange formats are static files. Several portable-memory schemas exist, but they describe a memory - they don’t let two agents talk about memory. No runtime, no negotiation, no access control.
- The data model has already converged. Independent systems landed on the same ingredients: typed memories, hybrid retrieval, hierarchical scopes, provenance, supersession-over-deletion, consolidation. The hard design work is done - it just isn’t standardized.
Nobody owns the negotiated runtime in the middle. That is what UMP provides.
Where UMP sits
Section titled “Where UMP sits”| Layer | Standard | What it carries |
|---|---|---|
| Tools | MCP | callable functions, resources |
| Coordination | A2A | agent-to-agent invocation |
| Memory | UMP | portable knowledge across sessions, agents, and vendors |
UMP sits beside MCP and A2A, not on top. It is the third leg.
Design in one line
Section titled “Design in one line”UMP = Portable Record Format + 6 operations + 3 bindings (MCP / HTTP / file)It rides existing transports - MCP first, then HTTP and files - reuses W3C PROV
- DID for provenance and identity, and adds the one thing nobody owns: the negotiated, access-controlled memory runtime.
Continue to the Quickstart to run it, or jump to the Specification.