关于 justdrop
justdrop 是一款 MCP 服务,通过临时房间在 AI Agent 与设备间传输文件。它适用于双向文件交接;传输采用端到端加密,接收设备只需浏览器。
主要功能
- 01发送和接收文件或文件夹
- 02通过房间码或链接加入
- 03查看实时传输状态
- 04取消或离开房间
- 05将文件访问限制在配置的根目录
适用场景
- 01将 Agent 生成的报告发送到手机
- 02将手机截图接收到工作目录
MCP 相关
MCP 服务提供 `drop`、`receive`、`status` 和 `cancel` 工具,用于创建和管理加密的临时文件传输房间。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y justdrop-mcpJUSTDROP_ROOTThe only directory the server may read files from or save files into (root jail). Defaults to the working directory.JUSTDROP_DEFAULT_EXPIRY_MINUTESRoom lifetime in minutes when a tool call doesn't specify one (1-1440, default 60).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| paths | array | 是 | 要发送的文件/目录的绝对或相对路径 |
| room_code | string | 否 | 加入此现有房间并向其中发送内容,而不是创建新房间 |
| expiry_minutes | integer | 否 | 房间有效时长,单位为分钟(默认值为 60)。之后房间会自动销毁。 |
详细介绍
justdrop-mcp
为你的 AI Agent 提供一种向你发送文件的方式——实时端到端加密,不存储任何内容。
justdrop-mcp 是 JustDrop 的 MCP(Model Context Protocol)服务。你的 Agent 创建一个房间,你在任意设备上扫描二维码或打开链接,文件便会开始传输——离开设备前即加密,只在你的设备上解密,房间关闭后即被删除。双方都无需账号。接收设备无需安装任何东西,只要有浏览器即可。
You: "drop dist/report.pdf to my phone"
Agent: Room code: brave-otter-4821
Link: https://justdrop.ai/app#join=brave-otter-4821
[QR code]
You: *scan, tap, done — the room self-destructs*
反过来也行:“从我的手机上拿一下截图”会为你生成二维码;你从手机上传的任何内容都会解密后存入当前工作目录,Agent 随后即可继续处理。
安装
需要 Node.js 20+。
claude mcp add justdrop -- npx -y justdrop-mcp
也可以在 .mcp.json / 任意 MCP 客户端配置中添加:
{
"mcpServers": {
"justdrop": {
"command": "npx",
"args": ["-y", "justdrop-mcp"],
"env": {
"JUSTDROP_ROOT": "C:/path/to/allowed/folder"
}
}
}
}
工具
| 工具 | 功能 |
|---|---|
drop | 发送文件/文件夹。立即返回房间码 + 链接 + 二维码;接收方打开链接后,传输会自动开始。传入 room_code 可发送到现有房间。 |
receive | 将文件接收到某个目录。创建一个房间(房间码 + 链接 + 二维码),并自动保存投放到房间中的内容,保存前会解密。传入 room_code 可加入其他人创建的房间。 |
status | 实时进度:对端是否在线、各文件状态、保存路径。 |
cancel | 销毁本会话创建的房间(删除文件和元数据),或离开已加入的房间。 |
配置
| 环境变量 | 默认值 | 含义 |
|---|---|---|
JUSTDROP_BASE_URL | https://justdrop.ai | 要连接的后端(本地开发时可指向 http://localhost:3000)。 |
JUSTDROP_ROOT | 服务的工作目录 | 服务唯一可读取文件和保存文件的目录。 |
JUSTDROP_DEFAULT_EXPIRY_MINUTES | 60 | 工具未指定时的房间有效期(1–1440)。 |
安全模型
会读取本地文件的 MCP 服务可能受到提示词注入攻击,因此防护措施由结构设计保障,而非礼貌性建议:
- 根目录隔离——所有路径(发送或保存)都必须解析到
JUSTDROP_ROOT内。其他路径一律拒绝。 - 拒绝凭据文件——点文件(
.env、.npmrc等)、SSH/TLS 密钥、密钥库、云凭据文件和 Shell 历史记录一律不会发送,即使明确指定也不例外。没有可覆盖此限制的选项。 - 明确的清单——每次
drop操作都会列出已排队的文件,方便用户查看即将发送的内容。 - 与服务端保持拦截列表一致——JustDrop 会拒绝的扩展名(
.exe、.bat等)会在发送前直接拒绝,并提示改为打包成 zip。 - 默认限时存在——房间设有有效期(默认 60 分钟),交付后会自动销毁。
传输工作原理
drop会创建一个房间并注册 RSA-2048 公钥;工具会立即返回房间码/链接/二维码。- 接收方打开链接后,其浏览器会注册自己的密钥。房间按设计仅支持一对一通信——请将房间码视为秘密信息。
- 每个文件都会生成一个新的 AES-256-GCM 密钥,并使用双方的 RSA 密钥加密。加密后的数据块通过短时有效的签名 URL 中转——中转服务无法看到明文或密钥。
- 系统会实时监测文件交付状态;完成后,房间及其中的所有内容都会被销毁。
文件会在内存中一次性加密(与 Web 应用的格式保持一致),因此超大文件需要相应的内存。每个文件的上限为 2GB。
本地开发
npm install
npm run verify # builds, boots ../justdrop-simple dev server, runs both test suites
# or piecewise, against a server you started yourself:
npm run build
node test/e2e.mjs http://localhost:3000 # core roundtrip (both directions + SSE)
node test/mcp-smoke.mjs http://localhost:3000 # full MCP stdio protocol exercise
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。