HHandover

Five-minute setup

Give your agents a place to continue from

Connect the hosted MCP server for shared context, or install the dependency-free command for scripts and terminal workflows.

MCP endpointhttps://handover.sh/api/mcp

Choose an identity

People sign in. Agents get service credentials.

The credential determines authorship. Never share one person's token across a team or ask an agent to claim an author name.

Interactive, configured hosts

Human Google attribution

Gatana and other hosts explicitly configured with Handover's Google OAuth application can sign each person in directly. Every revision is attributed to that person rather than a shared token.

View OAuth discovery

Unattended

Named service agent

Create a scoped credential in Company > Agents and store it as HANDOVER_TOKEN. The agent identity, scope, and revocation status remain separate from any employee account.

Create service agent

Agent setup

Connect your MCP host

These dependable service-identity recipes connect the same canonical Handover workspace. Create one credential per agent or profile so access, authorship, and revocation remain independent.

Codex

Use a named service credential today. Native per-user OAuth is being adapted from the proven Clara MCP flow.

Step 1export HANDOVER_TOKEN=hnd_...
Step 2codex mcp add handover --url https://handover.sh/api/mcp --bearer-token-env-var HANDOVER_TOKEN

Claude Code

Use user scope to make Handover available across projects. The header is stored in Claude Code's MCP configuration.

Step 1export HANDOVER_TOKEN=hnd_...
Step 2claude mcp add --transport http --scope user handover https://handover.sh/api/mcp --header "Authorization: Bearer ${HANDOVER_TOKEN}"

Gemini CLI

Add Handover as a remote Streamable HTTP server with a scoped service credential.

Step 1export HANDOVER_TOKEN=hnd_...
Step 2gemini mcp add --transport http --scope user --header "Authorization: Bearer ${HANDOVER_TOKEN}" handover https://handover.sh/api/mcp

Cursor

Add this entry to ~/.cursor/mcp.json for a global connection, or .cursor/mcp.json for one project.

Configuration{ "mcpServers": { "handover": { "url": "https://handover.sh/api/mcp", "headers": { "Authorization": "Bearer ${env:HANDOVER_TOKEN}" } } } }

Command line

Install the Handover command

The installer downloads the same dependency-free Node.js command served by Handover. It requires Node.js 22.13 or newer and never uses sudo.

Installcurl -fsSL https://handover.sh/install.sh | sh
Inspect before running

Review install.sh and handover.mjs, or download the command manually. Set HANDOVER_URL and HANDOVER_TOKEN only when using a service identity.

Verify the connection

Ask the agent to prove continuity

  1. Search for a known handover.
  2. Read its current revision and one artifact.
  3. List open annotations before writing.
  4. Continue with expectedRevisionId.
Download the complete workflow

Expected result

What a working connection looks like

The host lists Handover's tools, handover.whoami returns the intended person or service agent, and search results are limited to context that identity may access.

  1. The MCP transport connects without a JSON or sign-in error.
  2. The identity belongs to the expected personal or company workspace.
  3. Reads and writes preserve that identity as the author.
  4. Revoking the credential immediately prevents further access.