Agent context is a dead end. Every session you start with an LLM agent is a walled garden. You spend 30 minutes investigating a codebase, mapping dependencies, making decisions, building up rich context, and then you hit a token limit. Session over. Everything you built up is gone.
Now you open a new session, a different client, or a different agent entirely, and you start from scratch. You re-explain the problem. You re-read the same files. You re-discover the same things. The next agent has no idea what the last one learned.
There is no shared memory layer between agent sessions today. Context is locked inside the session that created it. It cannot be carried over, handed off, or accessed by anything else. Not by another agent, not by another client, not even by the same agent in a new window.
In traditional software engineering, this problem was solved long ago. On-call engineers write handoff notes at the end of a shift so the next person picks up where they left off instead of re-investigating from zero. Wikis, runbooks, and shared state stores exist precisely because no single process should be the only holder of critical context.
Agents have none of this. Every session is a cold start.
Relay is an MCP server that gives agents a shared, persistent memory layer. Any agent, in any client, across any session, can read from and write to the same context store for a given user and project.
The core idea is simple:
-
Save — At any point during a session, the agent (or user) saves key findings, decisions, and progress to Relay. Not the raw conversation, but distilled, structured context: what was investigated, what was decided, what remains.
-
Load — When a new session starts, the agent calls Relay to pull in existing context. It knows what was already explored, what conclusions were reached, and where the previous session left off.
-
Handoff — A session can explicitly mark context as a handoff, packaging up the current state with a summary so the next agent gets a clean briefing instead of a raw dump.
Relay stores context locally (SQLite by default) keyed by project and user. It is agent-agnostic and client-agnostic. Whether you are in Cursor, Claude Code, a terminal agent, or a custom tool, if it speaks MCP, it can read and write to Relay.
Think of it as Redis for agent context, or on-call handoff notes that every agent can read.