SGM (Shared Global Memory) is an open protocol for persistent, interoperable memory and context sharing between AI agents and software tools.
It lets an agent, coding assistant, or developer tool:
Every AI tool today keeps its own private, session-scoped memory. The moment you switch tools, start a new session, or delegate to another agent, that context evaporates and must be rebuilt manually. Teams re-explain the same plans, decisions, and constraints dozens of times a week.
The root cause is that each tool invented its own memory format, with no shared contract. SGM provides that contract.
SGM is a protocol first, an implementation second. Four layers, in strict dependency order:
SGM Protocol
│
├── Specification ← authoritative; normative for semantics
├── Schemas ← machine-readable; normative for structure
├── Conformance ← behavioral tests any implementation can run
│
└── Reference Implementation ← executable documentation only
│
└── Optional transports / adapters
Two rules follow from this:
SGM standardizes the interoperability contract: the shape of records, the semantics of retrieval, the meaning of scope and isolation, the provenance fields, and the capability/version handshake.
SGM does not standardize implementation technology. A conforming implementation is free to use any storage engine (SQLite, Postgres, files, object store, in-memory), any language, any retrieval algorithm, any embedding model, any LLM, and any transport. Storage and ranking are implementation concerns unless interoperability requires their behavior to be pinned.
SGM is not an MCP protocol. MCP is one supported transport binding.
SGM Specification
│
┌─────────────┼─────────────┐
│ │ │
MCP HTTP CLI
│ │ │
└─────────────┼─────────────┘
│
SGM Implementation
The same SGM implementation SHOULD be usable through multiple transports. A transport-specific binding is labeled as a binding, never as part of the core protocol. See transports/.
SGM defines a small Core that every conformant implements — Store, Retrieve, Read, Identity, Scope, Capability Discovery — plus optional capability profiles (Collaboration, Code Intelligence, History, Transport) that an implementation MAY support and MUST advertise if it does. See capabilities.md.
The name Shared Global Memory describes shared memory across an agent’s tools and sessions — not globally public memory. Scope isolation is mandatory: cross-user and cross-project retrieval MUST never be assumed permitted. See scopes.md.
SGM is at protocol version 0.1.0 (draft / experimental). Semantics may change before 1.0, but changes will always be documented with their compatibility impact. See versioning.md.