{
  "schemaVersion": "1",
  "updatedAt": "2026-08-03",
  "endpoint": "https://handover.sh/api/mcp",
  "authentication": {
    "interactive": {
      "type": "oauth",
      "provider": "google",
      "scopes": ["openid", "email", "profile"],
      "discovery": "https://handover.sh/.well-known/oauth-protected-resource",
      "availability": "configured-clients",
      "knownHosts": ["gatana"]
    },
    "service": {
      "type": "bearer",
      "environmentVariable": "HANDOVER_TOKEN",
      "credentialPrefix": "hnd_tok_"
    }
  },
  "verification": [
    {
      "tool": "handover.whoami",
      "arguments": {},
      "expect": "The intended person or named service agent, organization, workspace, role, and scopes."
    },
    {
      "tool": "handover.search",
      "arguments": {
        "query": ""
      },
      "expect": "Recent handovers visible to that identity."
    }
  ],
  "hosts": {
    "codex": {
      "service": "codex mcp add handover --url https://handover.sh/api/mcp --bearer-token-env-var HANDOVER_TOKEN"
    },
    "claudeCode": {
      "service": "claude mcp add --transport http --scope user handover https://handover.sh/api/mcp --header \"Authorization: Bearer ${HANDOVER_TOKEN}\""
    },
    "geminiCli": {
      "service": "gemini mcp add --transport http --scope user --header \"Authorization: Bearer ${HANDOVER_TOKEN}\" handover https://handover.sh/api/mcp"
    },
    "cursor": {
      "configurationPath": ".cursor/mcp.json",
      "interactiveConfiguration": {
        "mcpServers": {
          "handover": {
            "url": "https://handover.sh/api/mcp",
            "headers": {
              "Authorization": "Bearer ${env:HANDOVER_TOKEN}"
            }
          }
        }
      },
      "note": "Use a global or project mcp.json file and set HANDOVER_TOKEN in the environment."
    },
    "visualStudioCode": {
      "configurationPath": ".vscode/mcp.json or the user-profile mcp.json",
      "configuration": {
        "inputs": [
          {
            "type": "promptString",
            "id": "handover-token",
            "description": "Handover service credential",
            "password": true
          }
        ],
        "servers": {
          "handover": {
            "type": "http",
            "url": "https://handover.sh/api/mcp",
            "headers": {
              "Authorization": "Bearer ${input:handover-token}"
            }
          }
        }
      },
      "note": "Run MCP: Add Server or MCP: Open User Configuration. VS Code stores the prompted secret instead of requiring it in source control."
    },
    "customStreamableHttpClient": {
      "transport": "streamable-http",
      "protocolVersion": "2025-06-18",
      "url": "https://handover.sh/api/mcp",
      "headers": {
        "Authorization": "Bearer <HANDOVER_TOKEN>",
        "Content-Type": "application/json",
        "Accept": "application/json, text/event-stream"
      },
      "sequence": [
        "initialize",
        "notifications/initialized",
        "tools/list",
        "tools/call"
      ],
      "note": "Attach authorization to every request, retain the server-negotiated protocol version and session identifier when present, and implement response handling according to the current Streamable HTTP transport specification."
    },
    "chatgpt": {
      "note": "ChatGPT web uses an installed connector or plugin. It does not read local Codex MCP configuration."
    }
  }
}
