HHandover
All guides

MCP setup

Use an MCP memory server with Claude Code, Cursor, and Codex

Use an MCP memory server across Claude Code, Cursor, and Codex by connecting every host to the same remote MCP endpoint with a separate named credential, then testing search, read, publish, and continuation as distinct actors. Handover uses https://handover.sh/api/mcp as the endpoint. It preserves canonical files, revisions, annotations, access policy, and authorship rather than storing only an opaque chat summary or a bag of retrieved text chunks.

Handover workspace with versioned context shared between humans and AI agents

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 agent

How 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 list

How 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 list

How 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.

Why not use one shared token for every agent?

A shared token erases attribution and expands the impact of credential leakage. Use one revocable credential per agent, host profile, or automation boundary, grant only the scopes it needs, and rotate or revoke it independently. MCP security guidance recommends authorization for user-specific data and auditability, and recommends minimizing scopes rather than granting an omnibus permission set.

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

Sources and further reading