关于 yungle
yungle 提供文件传输工具,其 MCP 服务可查询传输记录、分享大文件和下载收到的文件,适合使用 AI 客户端或脚本的个人与团队;助手准备的每次发送都需批准。
主要功能
- 01查询传输记录
- 02分享大文件,包括从 URL 获取
- 03下载收到的文件
- 04批准助手准备的每次发送
- 05不提供删除、撤销或邀请工具
适用场景
- 01确认收件人是否下载了文件
- 02从存储 URL 分享文件
- 03下载通过传输收到的文件
MCP 相关
https://yungle.co/mcp 上的远程服务向 MCP 客户端提供传输查询、文件分享和下载。用户登录一次即可使用,每次发送都需批准。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://yungle.co/mcpclaude mcp add --transport http co-yungle-yungle https://yungle.co/mcp{"mcpServers":{"co-yungle-yungle":{"type":"http","url":"https://yungle.co/mcp"}}}在 Cursor 中打开{"servers":{"co-yungle-yungle":{"type":"http","url":"https://yungle.co/mcp"}}}在 VS Code 中打开{"mcpServers":{"co-yungle-yungle":{"type":"http","url":"https://yungle.co/mcp"}}}{"mcpServers":{"co-yungle-yungle":{"serverUrl":"https://yungle.co/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
面向开发者的 Yungle
从终端、脚本和 AI 助手发送大文件。
私密、可持续的文件传输:WeTransfer 的替代方案,提供 CLI、MCP 服务、类型化 SDK 和 Webhook。
网站 · 文档 · API 参考 · CLI · MCP · TypeScript · Python
npm install -g yungle-cli
yungle login # opens your browser, once
yungle send ./render.mov # uploads resumably, prints the link
想让 Yungle 帮你通过电子邮件发送链接?使用 API 密钥登录(yungle login --key),然后添加
--to [email protected]。通过浏览器登录会生成链接,但绝不会给任何人发送邮件,因此即使登录验证码被钓取,也无法用来给陌生人发邮件。
此仓库包含
| 安装 | 用途 | |
|---|---|---|
| CLI | npm i -g yungle-clibrew install heindewilde/yungle/yungle | 在终端或 CI 中双向发送、接收和同步文件——保留文件夹结构并验证校验和。连接中断或合上电脑盖后可继续传输 |
| MCP 服务 | 在 Claude 的目录中https://yungle.co/mcp | 只需登录一次,即可连接 Claude、Cursor 或任何 MCP 客户端:询问收到了什么、分享大文件(Yungle 可从 URL 获取文件)、下载别人发给你的文件,并审批每次发送 |
| TypeScript SDK | npm i yungle-client | 完整的 API,带类型且无依赖,可从任何 Blob 断点续传。支持 Node、Bun、Deno 和边缘运行时 |
| Python SDK | pip install yungle | 在 Python 中使用 API,提供一个调用即可处理上传的 send() |
| GitHub Action | uses: heindewilde/yungle-send-action@v1 | 在 CI 中向客户端发送构建产物,并通过输出获取链接 |
| 示例 | GitHub Actions、每日报告等更多示例,见 docs.yungle.co/guides/send-from-ci |
所有组件都使用同一个公开的 REST API (OpenAPI 3.1);CI 会在每次变更时用它检查这些客户端。
CLI
专为个人使用的顺畅体验和脚本的可预测性而打造。在终端中显示美观,管道传输时只输出链接,使用 --json 输出 JSON。
yungle send ~/Shoot --to [email protected] --message "Final selects" # send a folder
yungle send dist/ --json | jq -r .url # in a script
yungle get https://yungle.co/t/emerald-palm-a5mt # download, no account needed
yungle send --from-url "https://bucket.s3.eu-central-1.amazonaws.com/render.mov?…" # Yungle fetches it
yungle pull --collection 01J8Z3M9Q0W4 # your collection, to disk
yungle status # who downloaded what
yungle watch ~/Renders --collection 01J8Z3M9Q0W4 # upload new files as they land
yungle webhooks listen --forward-to http://localhost:8080/hooks # test webhooks locally
- 支持断点续传的大文件上传。 中断
yungle send后再次运行,它会从最后一个已提交的分块继续,而不是重新开始。 - 信息不全时提供引导。 单独运行
yungle send会询问要发送什么以及发送给谁。在 CI 中绝不出现交互,也不会在使用--json或--yes时出现:脚本不会卡在问题上。 - 错误会告诉你如何修复。 每次失败都会以一条让你摆脱困境的命令收尾;输错命令时还会给出 你是不是想输入 的提示。
- 支持 zsh、bash 和 fish 的 Tab 补全:
yungle completion zsh。
完整参考:apps/cli · docs.yungle.co/cli
连接你的 AI 助手
在 Claude 中: 从 Claude 的连接器目录添加 Yungle,然后登录。
在其他任何地方(Cursor、VS Code、任何 MCP 客户端):将 Yungle 添加为远程 MCP 服务,然后登录一次即可。无需复制密钥。
https://yungle.co/mcp
然后询问诸如 “Anna 下载最终版本了吗?”、“哪些交付内容本周到期?”、“与客户分享这三个文件。”、“把我们 S3 存储桶中的渲染文件发给客户。” 或
“Anna 发给我的链接里有什么?” 这样的问题。聊天无法承载 40 GB 的文件,因此助手不会这样做:
Yungle 会从文件所在的位置获取文件,或者助手会在其 shell 中运行单文件 npx yungle-cli put
命令。助手负责准备;每次发送前都由你批准,然后才会发出邮件。没有任何工具可以删除、撤销或邀请,而且
服务器返回的所有内容都会标记为不可信数据,因为文件名可能包含提示词注入。
更喜欢使用带 API 密钥的本地服务?yungle mcp install 会为 Claude
Desktop、Claude Code、Cursor 或 Windsurf 写入配置。详情见:packages/mcp-server。
SDK
import { YungleClient } from 'yungle-client';
const yungle = new YungleClient({ apiKey: process.env.YUNGLE_API_KEY! });
for await (const t of yungle.allTransfers()) console.log(t.title, t.downloadCount);
from yungle import Yungle
sent = Yungle().send(["render.mov"], to=["[email protected]"], message="Final cut")
print(sent["url"])
两者都会重试可以安全重试的操作,在每个 POST 请求中添加 Idempotency-Key,确保重试不会创建第二份副本;还会自动处理游标分页,并验证 webhook 签名。
Webhook
无需轮询,直接接收通知:transfer.ready、transfer.downloaded、transfer.expiring、
transfer.expired,以及付费套餐中的 collection.file_uploaded。每次投递都使用
HMAC-SHA256 签名,并采用退避策略重试。没有公开 URL?不填即可,改为主动拉取事件。
import { verifyWebhook } from 'yungle-client';
const ok = await verifyWebhook(rawBody, req.headers['yungle-signature'], process.env.YUNGLE_WEBHOOK_SECRET!);
套餐与限制
每个账户都可以使用 API、CLI 和 MCP 服务,包括免费套餐: 传输文件最大 10 GB、联系人、webhook,以及下载任意链接。集合和永不过期的文件仅限付费套餐。 每月前 10 GB 的 API 上传免费,之后从预付余额中扣费,每 GB €0.02。定价
为什么选择 Yungle
- 立足欧洲,由欧洲公司运营。 你的文件存储在欧盟基础设施中,并通过其提供服务。
- 始终加密。 每个文件都有独立密钥;需要时,可在浏览器中对传输进行端到端加密。
- 可持续。 使用可再生水电,运行于 PUE 为 1.13 的数据中心。 这意味着什么,又不意味着什么。
无法从这里访问: 你的保险库和端到端加密传输。它们的密钥在浏览器中派生,绝不会发送给 Yungle,因此没有任何 API 能读取它们。请参阅 API 无法执行的操作。
贡献
pnpm install
pnpm typecheck && pnpm lint && pnpm test && pnpm build
pnpm contract # check the clients (operations and types) against the live OpenAPI spec
此仓库用于开发客户端;Yungle 服务本身不是开源的。欢迎提交问题和拉取请求,参见 CONTRIBUTING.md。安全问题请通过 security.txt 报告。
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
