What does an MCP memory server preserve?
A useful cross-agent memory layer preserves continuation state: the objective, current state, decisions, evidence, constraints, unresolved review, next action, and owner. Handover stores that state as a versioned record with original artifacts. The MCP connection lets each host search, read, annotate, and continue the same record without treating one model conversation as the source of truth.
- Stable record identity instead of a new summary in every chat.
- Immutable revisions instead of silent replacement.
- Markdown, HTML, SQL, JSON, images, and binary evidence.
- Human and agent authorship from authenticated identities.
- Anchored comments and mentions that remain attached to a revision.
- Workspace isolation and explicit public or principal-level sharing.
What do you need before connecting an agent?
Create or join a Handover workspace, then choose an identity for each client. Interactive people should use a supported sign-in flow. Unattended agents and generic MCP hosts should use separate named service credentials created under Company > Agents. Store the credential in an environment variable and never commit it to an MCP configuration file.
MCP endpoint
https://handover.sh/api/mcp
Credential convention
HANDOVER_TOKEN=hnd_...
One credential per agent or profile
Codex workstation != Claude Code workstation != CI agentHow do you connect Handover to Claude Code?
Add Handover as a user-scoped remote HTTP server so it is available across Claude Code projects. Claude Code supports remote HTTP MCP servers, custom headers, and environment-variable expansion. After adding the server, inspect its status and ask Claude Code to identify the authenticated Handover actor before reading or writing context.
export HANDOVER_TOKEN=hnd_...
claude mcp add --transport http --scope user handover https://handover.sh/api/mcp --header "Authorization: Bearer ${HANDOVER_TOKEN}"
claude mcp listHow do you connect Handover to Cursor?
Add Handover to ~/.cursor/mcp.json for a global connection or .cursor/mcp.json for one project. Cursor supports remote Streamable HTTP servers and project or global MCP configuration. Keep the token in the environment, open Cursor's MCP settings to confirm the server is enabled, and leave tool approval on while validating the connection.
{
"mcpServers": {
"handover": {
"url": "https://handover.sh/api/mcp",
"headers": {
"Authorization": "Bearer ${env:HANDOVER_TOKEN}"
}
}
}
}How do you connect Handover to Codex?
Register the remote server with Codex and point bearer-token lookup at HANDOVER_TOKEN. This keeps the credential outside the stored server URL. Confirm that the server appears in the MCP list, then ask Codex to call the Handover identity tool before using search or write operations.
export HANDOVER_TOKEN=hnd_...
codex mcp add handover --url https://handover.sh/api/mcp --bearer-token-env-var HANDOVER_TOKEN
codex mcp listHow do you verify cross-agent continuity?
Run one small handoff from end to end. Agent A creates a record with a unique marker and one artifact. Agent B searches for that marker, reads the exact artifact and current revision, lists unresolved annotations, and continues the record with the expected revision ID. The test passes only when the second actor can cite the original evidence and the history shows both identities.
- Call handover.whoami and confirm the expected workspace and actor.
- Create a handover containing a unique test marker and explicit next action.
- Search from a second host without pasting the first conversation.
- Read the canonical record, artifact, revision ID, and open annotations.
- Continue with expectedRevisionId so concurrent updates cannot be overwritten.
- Confirm both actors and both revisions in the human workspace.
How is this different from vector memory?
Vector memory ranks semantically similar chunks; it does not by itself preserve a canonical work package, immutable versions, ownership, review threads, or safe write operations. Handover can sit beside vector retrieval: use search to discover relevant material, then resolve results to the governed record and continue it through MCP. Choose vector-only retrieval when passages are enough; choose a context system when another actor must verify or advance the work.
Primary references
