关于 yafl
yafl 是面向 Agent 的 MCP 服务和命令行客户端,用于在机器间传输文件。文件在客户端加密,分享链接最长保留 24 小时。
主要功能
- 01客户端 AES-256-GCM 加密
- 02上传文件或目录并生成链接
- 03下载并解密文件
- 04检查传输状态和剩余时间
- 05管理、撤销及邮件分享链接
适用场景
- 01在笔记本与 VPS 间传文件
- 02在不同机器上的 Agent 间传递文件
- 03通过一次性链接分享文件
- 04在会话中将文件链接发给收件人
MCP 相关
它通过 MCP 向客户端提供上传、下载、状态查询、文件列表、删除、邮件分享和登录工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 是 | 要上传的本地文件或目录的绝对路径或相对于 cwd 的路径 |
| oneTime | boolean | 否 | 为 true 时,链接会在首次成功下载后销毁;再次尝试下载会返回 not_found 样式的错误。默认为 false(链接会在正常的 24 小时有效期内保持可用)。 |
| password | string | 否 | 用于保护链接的可选密码。客户端会通过新生成的 salt 将其合并到解密密钥中,绝不会传输到 API。设置后,必须使用相同密码才能解密返回的链接。 |
详细介绍
YAFL — 又一个文件层(MCP 服务 + CLI)
你的 AI Agent 只需调用一次 MCP 工具,即可在不同机器间传输文件——客户端加密,链接 24 小时后失效。
此仓库是 YAFL 的开源 MCP 服务和 CLI 客户端。你的 Agent(Claude Desktop、Claude Code、Cursor,以及任何 MCP 客户端——包括运行在远程 VPS 上的 Agent)可以在不同环境间传递文件——笔记本 ↔ VPS、Agent ↔ Agent——只需调用一次工具,无需人工将文件拖到 WeTransfer 再四处复制链接。文件离开你的设备前会先在本地加密;服务只能看到密文。
客户端采用开源方式,因此你可以审查究竟有哪些内容会接触你的文件。YAFL 服务托管于 yafl.dev。
安装
将 YAFL 添加到你的 MCP 客户端配置中:
{
"mcpServers": {
"yafl": {
"command": "npx",
"args": ["-y", "@yafldev/mcp"],
"env": { "YAFL_API_KEY": "<your key — or leave unset and run yafl login>" }
}
}
}
适用于 Claude Desktop、Claude Code、Cursor 和任何 MCP 客户端。Claude Desktop 用户可以一键安装 .mcpb bundle。更喜欢使用 CLI?请运行:
curl -fsSL https://yafl.dev/install.sh | sh
开始使用无需 API 密钥。首次调用工具时,服务会返回引导式错误,提示运行 yafl login——这是一个 RFC 8628 设备流程:Agent 会显示一个短代码,你在浏览器中批准后,Agent 就会持有自己的可撤销密钥。专为无头设备打造。通过 npx 运行(Node.js 18+),无需全局安装。
工具
| 工具 | 调用 | 功能 |
|---|---|---|
upload_file | { path, password?, oneTime? } | 在客户端加密、上传密文,并返回共享链接。会先将目录打包为 ZIP。可选密码保护层;也可创建一次性链接,首次下载后即失效。 |
download_file | { url, destDir?, password? } | 获取并解密文件,然后将其写入本地磁盘。 |
get_status | { url } | 检查链接是否有效以及剩余 TTL——不会下载任何字节。 |
list_files | { limit? } | 调用方自己的传输记录,仅含元数据。 |
delete_file | { id | url } | 在过期前撤销你的一项传输。 |
email_link | { link, recipient } | 直接向收件人发送共享链接——在不中断会话的情况下,将内容从 Agent 交接给人类。 |
login | 设备流程 | 授权此 Agent(RFC 8628);该 Agent 将持有自己的可撤销密钥。 |
错误信息稳定且机器可读——你的 Agent 会收到 expired 或 not_found,而不是含糊不清的 404。
加密方式
文件会在上传前使用新生成的 AES-256-GCM 密钥加密。密钥仅存在于共享 URL 的 #fragment 中——浏览器不会将片段发送给服务端,因此它不会传输到、记录在或存储于任何服务端。可选的链接密码会增加第二层派生加密,服务端同样无法看到;一次性链接则会在首次成功下载后自毁。文件字节通过预签名 URL 直接传输到存储服务;应用服务端不会处理这些字节,存储服务收到的也始终只有密文。访问权限在 24 小时后失效。免费套餐:每个文件最大 100 MB。
如果 Agent 的密钥泄露,会发生什么
API 密钥不是解密密钥。如果某台机器遭到入侵,其 YAFL 密钥被盗,攻击者最多只能看到该密钥所属传输的密文元数据——文件内容仍然无法读取,因为解密密钥只存在于你交换的链接中。撤销该密钥,然后继续使用即可。因此建议每个 Agent、每台机器使用一个密钥——密钥可命名,并且可以单独撤销。
链接
- 网站:https://yafl.dev
- MCP 指南:https://yafl.dev/mcp
- 安全性 / 威胁模型:https://yafl.dev/security
- npm:
@yafldev/mcp·@yafldev/cli
许可证
MIT——详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。