mcpField
H
handover.tools

handover.tools

远程服务
handover.toolsAI 与智能体01 周前更新

关于 handover.tools

handover.tools 通过短链接在 AI Agent、设备、服务商或人员之间传递工作。它提供一次性文本交接,以及适合多轮交流的端到端加密频道。

主要功能

  1. 01通过一次性链接传递文本
  2. 02通过频道交换消息
  3. 03频道内容端到端加密
  4. 04为交接设置过期或关闭
  5. 05无需账号或安装即可使用

适用场景

  1. 01将手机 Agent 上的工作转到笔记本
  2. 02把笔记交给另一服务商的 Agent
  3. 03让两个 Agent 多轮交换内容
  4. 04无需创建账号即可分享文本

MCP 相关

MCP 端点 `https://handover.tools/mcp` 向 MCP 客户端提供交接工具,支持新旧协议版本。服务也提供 REST 端点和用于频道操作的本地 Python 客户端。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://handover.tools/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

8
参数类型必填说明
labelstring否可选的简短提示,显示给获取内容的人,便于确认内容是否正确。最多 120 个字符。
contentstring是要交接的文本。UTF-8 编码下最大 256 KB。
ttl_minutesinteger否内容失效、无法再获取前的分钟数。默认值为 60,最大值为 1440(24 小时)。
burn_after_readboolean否如果为 true(默认值),内容只能获取一次,并会在获取时删除。

详细介绍

handover.tools

test

一个 Agent 编写内容,另一个 Agent 读取内容。你只需在它们之间传递一个 8 个字母的链接。

handover.tools 可以将一项工作从一个 AI Agent 交接给另一个:跨设备、跨供应商,或交给其他人。用手机上的 Agent 进行头脑风暴,然后说“用 handover.tools 交接这项工作”。将它给你的链接(handover.tools/kvmtrhxp)粘贴到笔记本电脑上的 Claude Code 中,那个 Agent 就能在你现有文档所在的位置接手工作。

把想法带到你的上下文中,而不是把你的上下文带到想法中。

无需账号,也无需安装任何东西。任何能够打开网页的 Agent 都可以使用它。

两种模式

单次交接通道
用途交接一段文本两个 Agent 之间进行多轮交接
加密**无。**服务端可以读取内容,所以不要放入机密信息端到端加密(SPAKE2 + ChaCha20-Poly1305)。服务端只会存储密文
有效期首次读取后失效,或 60 分钟后失效(最长 24 h)直到任意一方关闭通道
Agent 需要具备的能力能打开 URL,或具备 MCP能运行 Python 脚本(uv run)
由谁决定由用户传递链接用户批准每次发送,并启动每次读取
单次交接
curl -X POST https://handover.tools/api/handoff/put \
     -H 'Content-Type: application/json' \
     -d '{"content":"...","label":"notes"}'          # → {"code":"kvmtrhxp", "revoke_key":"...", ...}
curl "https://handover.tools/api/handoff/get?code=kvmtrhxp"

打开 handover.tools/<code> 不会消耗代码。该 URL 会返回操作说明,实际读取则需要发起第二个请求。因此,Slack 或 iMessage 中的链接预览不会在接收方看到内容之前就消耗内容。

通道
curl -so ~/.handoff/channel.py --create-dirs https://handover.tools/client/channel.py
uv run ~/.handoff/channel.py open --name study --brief "..."   # machine A: prints a code
uv run ~/.handoff/channel.py join kvmtrhxp --name study        # machine B
uv run ~/.handoff/channel.py send --name study --kind question --file q.md
uv run ~/.handoff/channel.py fetch --name study

这 8 个字母由一个 3 个字母的标识名和一个 5 个字母的密码组成。服务端可以看到标识名,并据此查找通道;密码在机器 A 上生成,绝不会上传。密码会用于 SPAKE2,这与 magic-wormhole 使用的是同一种构造方式。服务端永远不会获知密码,因此无法冒充任意一方。/client/channel.py 由 client/channel.py 提供,其 sha256 发布在 /api/discover,你可以据此检查下载的客户端是否与此仓库中的版本一致。

威胁模型(包括我们不作出的声明)见 handover.tools/security。

面向 Agent

  • MCP 端点:https://handover.tools/mcp。它同时支持 2026-07-28(现代)和 2025-11-25 及更早的(旧版)协议时代。
  • 纯文本说明:/llms.txt、/guide.md、/security.md
  • 完整 REST 架构:/api/discover

构建方式

  • **Cloudflare Python Workers + D1。**一个 Worker,无需其他基础设施。路由、MCP tools/list 和 /api/discover 均由单一工具注册表(src/registry.py)生成,因此不会出现彼此不一致的情况。
  • **分层限制:**每位调用者每天最多 10 次写入和 200 次调用,另设全局每日上限。本网站使用 Workers Free 计划,因此支出硬上限为 $0。
  • 字体采用可自托管方式,并嵌入 Worker 中,因此访客的 IP 不会发送给第三方。调用者的 IP 会在 30 天后删除。
src/
  entry.py        routing, MCP (dual-era), content negotiation
  registry.py     @tool decorator — one source for REST, MCP and discover
  tools/handoff.py, tools/channel.py   the two tools
  guard.py        quotas and the operator blocklist
  meter.py        per-call metering
  page.py, docs.py, style.py   the website and docs pages
client/channel.py   the local E2EE client, run on the user's machine
tests/              end-to-end, channel and quota test suites
scripts/            dev, deploy, repository checks, operator tools

文档

文档内容
docs/system-design.md架构:组件、请求流水线、数据模型、流程、信任边界、限制与容量、故障模式、已知缺陷
docs/spec/handoff.md一次性契约:操作、代码格式与规范化、原子性、代码链接、限制
docs/spec/channel.md通道协议:配对、SPAKE2 参数、密钥调度、线路格式、接收方规则、服务端 API、生命周期。内容足够详细,可据此编写第二个客户端
docs/decisions.md为什么这样构建:尝试过什么、否决了什么,以及哪些方案出了问题
CHANGELOG.md变更记录,最新内容在前。也可在 handover.tools/changelog 查看

规范就是契约。行为变更应先修改规范,再更新代码和测试。

在本地运行

需要 Node ≥ 22 和 Python 3.12。

npm install
scripts/dev.sh      # generates src/*_src.py and public/, then runs wrangler dev on :8787
tests/e2e.sh        # end-to-end tests against the local server
tests/channel.sh    # two isolated clients: pairing, tampering, replay
tests/quota.sh      # quota gates (local only: edits counters directly)
scripts/check.sh    # repository rules: English only, every Dxx reference resolves

CI 会在每次推送时运行检查和三套测试。

自行部署

  1. 运行 npx wrangler d1 create <name>,然后将名称和 ID 填入 wrangler.toml。
  2. 将 routes 模式改为你的域名。
  3. 运行 CLOUDFLARE_API_TOKEN=… scripts/deploy.sh

表会在首次请求时创建。scripts/block.sh 提供用于处理滥用举报的运维工具:阻止某个 IP 或 IP 范围写入,并通过链接查找或删除交接内容。

贡献与安全

欢迎提交问题和拉取请求。AGENTS.md 说明了适用于所有人的工作规则,包括编码 Agent:行为变更应先修改 docs/spec/ 中的规范,再更新代码和测试。请私下报告漏洞,详见 SECURITY.md。

许可证

MIT。字体:Atkinson Hyperlegible,SIL OFL 1.1(参见 assets/fonts/LICENSE.txt)。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。