Skip to content

Handover

by handover.sh · remote · no sign-in to list tools · v1.18.0 · published by sh.handover

Shared, versioned context that humans and AI agents can publish, review, annotate, and continue.

Final · 1Changes · 8

17 tools: 1 do something that can't be undone, 8 change things and 8 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http handover https://handover.sh/api/mcp?profile=core

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

17 tools

Can't be undone 1Claude Code: ask
  • handover.publishCreate or update a stable /r/{slug}/ report projection of a Handover revision.No findings

    Why it is in this group

    • The name "handover.publish" says "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    Create or update a stable /r/{slug}/ report projection of a Handover revision.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 8Claude Code: ask
  • handover.annotateAdd a durable comment anchored to selected text or lines in an immutable artifact revision.No findings

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    Description, as the server wrote it
    Add a durable comment anchored to selected text or lines in an immutable artifact revision. Read the artifact first and preserve the exact quote and surrounding context.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • handover.assignReplace the open assignments with the supplied collaborator identities.No findings

    Why it is in this group

    • The name "handover.assign" says "assign": a word for a change.
    Description, as the server wrote it
    Replace the open assignments with the supplied collaborator identities. This changes collaboration state, not the immutable handover revision.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • handover.commentAppend a discussion comment and optionally notify explicitly mentioned collaborators.No findings

    Why it is in this group

    • The name "handover.comment" says "comment": a word for a change.
    Description, as the server wrote it
    Append a discussion comment and optionally notify explicitly mentioned collaborators.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • handover.continueAppend an immutable revision after reading the current snapshot.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Append an immutable revision after reading the current snapshot. expectedRevisionId is mandatory to prevent overwriting another collaborator's work. Omitted artifacts are inherited; matching names are replaced.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • handover.createCreate durable shared context with an initial immutable revision.No findings

    Why it is in this group

    • The name "handover.create" says "create": a word for a change.
    Description, as the server wrote it
    Create durable shared context with an initial immutable revision. Authorship comes from the authenticated Handover identity.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • handover.okf.exportExport a handover revision as an Open Knowledge Format bundle for another human or agent system.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Export a handover revision as an Open Knowledge Format bundle for another human or agent system.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • handover.okf.importImport Open Knowledge Format files into a new immutable Handover revision.No findings

    Why it is in this group

    • The name "handover.okf.import" says "import": a word for a change.
    Description, as the server wrote it
    Import Open Knowledge Format files into a new immutable Handover revision. Replaying the same bundle is idempotent.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • handover.update_commentEdit an authored comment, or resolve/reopen an annotation.No findings

    Why it is in this group

    • The name "handover.update_comment" says "update": a word for a change.
    Description, as the server wrote it
    Edit an authored comment, or resolve/reopen an annotation. Set resolvedRevisionId when a new handover revision addressed the feedback.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 8Claude Code: allow
  • handover.annotationsRead revision-anchored file comments, selected text, status, authorship, and resolution metadata.No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Read revision-anchored file comments, selected text, status, authorship, and resolution metadata. Use status=open to find feedback that still needs action.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • handover.getRead a handover snapshot, continuation brief, artifact metadata, and revision history.No findings

    Why it is in this group

    • The name "handover.get" says "get": a word for reading.
    Description, as the server wrote it
    Read a handover snapshot, continuation brief, artifact metadata, and revision history. Omit revisionId for the current snapshot.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • handover.publicationRead the stable report URL, entry file, access mode, and selected revision for a handover.No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Read the stable report URL, entry file, access mode, and selected revision for a handover.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • handover.pullReturn the selected files of a published report with paths, hashes, media types, and UTF-8 or base64 content.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return the selected files of a published report with paths, hashes, media types, and UTF-8 or base64 content.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • handover.read_artifactRead bounded artifact content after inspecting a handover.No findings

    Why it is in this group

    • The name "handover.read_artifact" says "read": a word for reading.
    Description, as the server wrote it
    Read bounded artifact content after inspecting a handover. Text is returned as UTF-8 and binary content as base64; truncated results report that explicitly.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • handover.searchFind current shared context with hybrid, semantic, or lexical retrieval across metadata and artifact content.No findings

    Why it is in this group

    • The name "handover.search" says "search": a word for reading.
    Description, as the server wrote it
    Find current shared context with hybrid, semantic, or lexical retrieval across metadata and artifact content. Use an empty query to list recent handovers.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • handover.threadRead comments, explicit mentions, assignments, and eligible collaborators without changing revision history.No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Read comments, explicit mentions, assignments, and eligible collaborators without changing revision history.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • handover.whoamiReturn the authenticated person or service agent, organization, workspace, role, and granted scopes.No findings

    Why it is in this group

    • The name "handover.whoami" says "whoami": a word for reading.
    Description, as the server wrote it
    Return the authenticated person or service agent, organization, workspace, role, and granted scopes. Call this before reading or publishing to confirm attribution and tenancy.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.18.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http handover https://handover.sh/api/mcp?profile=core

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__handover__handover_whoami",
      "mcp__handover__handover_search",
      "mcp__handover__handover_get",
      "mcp__handover__handover_read_artifact",
      "mcp__handover__handover_thread",
      "mcp__handover__handover_annotations",
      "mcp__handover__handover_publication",
      "mcp__handover__handover_pull"
    ],
    "ask": [
      "mcp__handover__handover_create",
      "mcp__handover__handover_continue",
      "mcp__handover__handover_comment",
      "mcp__handover__handover_annotate",
      "mcp__handover__handover_update_comment",
      "mcp__handover__handover_assign",
      "mcp__handover__handover_publish",
      "mcp__handover__handover_okf_export",
      "mcp__handover__handover_okf_import"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as handover. Review it before you use it.