Yungle
The Yungle MCP server lets you inspect your account, transfers, collections, files, folders, guests, and contacts, and prepare draft transfers for later upload.
Get account and storage details: plan, quota, key permissions.
List and inspect transfers: recent transfers, file details, malware verdicts, recipient status, download receipts.
List and inspect collections: details, files, folders, guests.
List contacts.
Prepare a draft transfer for files you upload yourself via browser or Yungle CLI; it does not upload files or email anyone.
All operations are read-only except create_transfer, and the server cannot access your vault or end-to-end encrypted transfers.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Yungle list my recent transfers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Yungle for developers
Send large files from your terminal, your scripts and your AI assistant. Private, sustainable file transfer: a WeTransfer alternative with a CLI, an MCP server, typed SDKs and webhooks.
Website · Docs · API reference · CLI · MCP · TypeScript · Python
npm install -g yungle-cli
yungle login # opens your browser, once
yungle send ./render.mov # uploads resumably, prints the linkWant Yungle to email the link for you? Sign in with an API key (yungle login --key) and add
--to client@example.com. A browser sign-in makes links but never emails anyone, so a phished
sign-in code can't be used to mail strangers.
What's in here
Install | What it's for | |
| Send, receive and sync files from a terminal or CI — both ways, folders kept, checksums verified. Resumes after a dropped connection or a closed lid | |
In Claude's directory | Connect Claude, Cursor or any MCP client with one sign-in: ask what arrived, share big files (Yungle can fetch them from a URL), download what you were sent, approve every send | |
| The whole API, typed and dependency-free, with resumable uploads from any | |
| The API from Python, with a one-call | |
| Send build artefacts to a client from CI and get the link back as an output | |
GitHub Actions, nightly reports, and more at docs.yungle.co/guides/send-from-ci |
All of it talks to the same public REST API (OpenAPI 3.1), which CI checks these clients against on every change.
Related MCP server: reMarkable MCP Server
The CLI
Built to be pleasant for a person and predictable for a script. Pretty at a terminal, just the
link when piped, JSON with --json.
yungle send ~/Shoot --to anna@studio.nl --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 locallyResumable, big uploads. Interrupt
yungle send, run it again, and it continues from the last committed part instead of starting over.Guided when you leave something out.
yungle sendon its own asks what to send and to whom. Never in CI, never with--jsonor--yes: a script can't hang on a question.Errors tell you the fix. Every failure ends with the one command that gets you unstuck, and a typo gets a did you mean.
Tab completion for zsh, bash and fish:
yungle completion zsh.
Full reference: apps/cli · docs.yungle.co/cli
Connect your AI assistant
In Claude: add Yungle from Claude's connector directory and sign in.
Anywhere else (Cursor, VS Code, any MCP client): add Yungle as a remote MCP server and sign in once. No key to copy.
https://yungle.co/mcpThen ask things like "Did Anna download the final set?", "Which deliveries expire this
week?" "Share these three files with the client.", "Send the client the render in our S3 bucket." or
"What's in the link Anna sent me?" A chat cannot carry a 40 GB file, so the assistant doesn't:
Yungle fetches it from where it already is, or the assistant runs a one-file npx yungle-cli put
command in its shell. The assistant prepares; you approve every send before an email leaves. There is no tool that deletes, revokes or invites, and
everything the server returns is labelled as untrusted data, because a filename can carry a
prompt injection.
Prefer a local server with an API key? yungle mcp install writes the config for Claude
Desktop, Claude Code, Cursor or Windsurf. Details: packages/mcp-server.
The SDKs
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=["client@example.com"], message="Final cut")
print(sent["url"])Both retry what is safe to retry, put an Idempotency-Key on every POST so a retry never makes
a second copy, follow cursor pagination for you, and verify webhook signatures.
Webhooks
Get told instead of polling: transfer.ready, transfer.downloaded, transfer.expiring,
transfer.expired, and on paid plans collection.file_uploaded. Each delivery is signed with
HMAC-SHA256 and retried with backoff. No public URL? Leave it out and pull the events instead.
import { verifyWebhook } from 'yungle-client';
const ok = await verifyWebhook(rawBody, req.headers['yungle-signature'], process.env.YUNGLE_WEBHOOK_SECRET!);Plans and limits
Every account can use the API, the CLI and the MCP server, the free plan included: transfers up to 10 GB, contacts, webhooks, and downloading any link. Collections and files that never expire come with a paid plan. The first 10 GB of API uploads each month are free, then €0.02/GB from prepaid credit. Pricing
Why Yungle
In Europe, run by a European company. Your files are stored and served from EU infrastructure.
Always encrypted. Every file gets its own key, and transfers can be end-to-end encrypted in the browser when you need it.
Sustainable. Renewable hydropower, in a data centre with a PUE of 1.13. What that does and doesn't mean.
Not reachable from here: your vault and end-to-end encrypted transfers. Their keys are derived in your browser and never sent to Yungle, so no API can read them. See what the API can't do.
Contributing
pnpm install
pnpm typecheck && pnpm lint && pnpm test && pnpm build
pnpm contract # check the clients (operations and types) against the live OpenAPI specThis repository is where the clients are developed; the Yungle service itself is not open source. Issues and pull requests are welcome, see CONTRIBUTING.md. Security reports go through security.txt.
MIT
Available Tools
14 toolsdownload_filesDownload files to this computerAIdempotentInspect
Save the files of a Yungle link, or of one of your own transfers or collections, into a
folder on this machine — resumably, keeping their folder structure. Files land in a new
subfolder of directory; nothing outside it is written, and files already there at full
size are skipped. Returns the saved paths.
Inputs: directory (required), url, password, transferId, +1 more.
get_accountAccount and storageARead-onlyInspect
Answers: how much storage am I using? how much is left? what plan am I on? what can this connection do? Returns the workspace, its plan and quota, and the key's permissions.
Inputs: no named parameters.
get_collectionCollection detailBRead-onlyInspect
Answers: what is the link for this collection? how much is in it? when does it expire? Returns one collection with its secret share link, file count, total size and expiry.
Inputs: id (required).
get_download_linksDownload linksARead-onlyInspect
Answers: what is in this link someone sent me? how do I get these files? Turns a Yungle link (https://yungle.co/t/… or /c/…), or one of your own transfers or collections, into signed download URLs: one per file, with its folder path, plus a ZIP. The URLs need no key, support HTTP Range (resumable), and work for 24 hours — fetch them with curl or any HTTP client. Resolving someone else's link counts as one download of it, like opening it in a browser.
Inputs: url, password, transferId, collectionId.
get_transferTransfer detailARead-onlyInspect
Answers: what is in this transfer? was it delivered? has a specific recipient downloaded it? is it safe to share? Returns the files with their malware-scan verdicts, plus per-recipient delivery and download status for one transfer id.
Inputs: id (required).
get_transfer_downloadsDownload receiptsARead-onlyInspect
Answers: did the client download it? when? how many times? Returns download events with timestamps and per-recipient status. One visit can fetch several files: events that share a sessionId belong to the same visit.
Inputs: id (required).
get_upload_requestUpload request detailARead-onlyInspect
Answers: who has uploaded through this link, when, and how much? Returns the request and its submissions, newest first, with the name, email and note each uploader typed.
Inputs: id (required).
list_collection_filesFiles in a collectionARead-onlyInspect
Answers: what files are in this collection? what is in this folder? are the raws uploaded yet? Returns filenames, sizes and types. Omit folderId for every file; pass "root" for the top level only, or a folder id. Filenames only — never file contents.
Inputs: id (required), folderId.
list_collectionsList collectionsARead-onlyInspect
Answers: what collections do I have? which are empty? how big is each one? Returns collections with file counts, sizes and when each was last touched. A collection is a durable space clients are invited into, as opposed to a one-off transfer. Never includes the vault, which is unreadable to this server by design.
Inputs: no named parameters.
list_contactsAddress bookARead-onlyInspect
Answers: what is this client's email address? who do I have saved? Returns the workspace address book. A contact grants no access on its own — it is a convenience, not a permission.
Inputs: no named parameters.
list_foldersFolders in a collectionARead-onlyInspect
Answers: how is this collection organised? what folders exist? Returns the folder tree. Ordered by depth, then path (not a pre-order traversal). Each folder carries its parentId and its full path.
Inputs: id (required).
list_guestsGuests on a collectionARead-onlyInspect
Answers: who has access to this collection? who did I invite? has someone accepted? Returns the invited guests and their status. Guests are not workspace members — they can view and download this one collection and nothing else.
Inputs: id (required).
list_transfersList transfersARead-onlyInspect
Answers: what have I sent recently? what is expiring soon? which deliveries has nobody picked up? who did I send that to? Returns recent transfers with size, recipients, download count, expiry date and share link.
Inputs: no named parameters.
list_upload_requestsUpload requestsARead-onlyInspect
Answers: which upload links do I have out? has anyone sent files through them? Returns each public upload page that feeds a collection, with its link, status and how much has arrived.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 14 tools
Each tool targets a distinct object or action: transfers (list/get/downloads), collections (list/get/files/folders), guests, contacts, upload requests, and the link-resolution pair. The only near-overlap, get_download_links vs download_files, is cleanly separated by output (signed URLs vs files on disk) and the descriptions make that explicit.
Every tool follows a clean snake_case verb_noun pattern (list_*, get_*, download_files). The convention is uniform and predictable across all 14 tools.
14 tools is well within the ideal 3-15 range and each one maps to a distinct resource or operation in the file-transfer domain. Nothing feels padded or redundant.
The read/inspection and download surface is thorough, covering accounts, transfers, collections, folders, guests, contacts, upload requests and link resolution. However, the surface is entirely read-only: no tools to create transfers/collections, invite guests, add contacts, or manage upload requests, so the write lifecycle is absent (possibly by design).
Maintenance
Related MCP Connectors
Read-only access to your VeloCapture leads, RFPs, contacts and drafts from an AI assistant.
Read-only AI access to HAVN properties, leads, tasks, files, media, and analytics.
Ask your AI about your Airbnb and VRBO listings, bookings, guest messages and reviews. Read-only.
Read-only AI access to Osboon business card analytics, viewers, links, connections and contacts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants read-only access to Sprinklr data via MCP, allowing querying reports, searching cases, and calling Sprinklr API endpoints.10 npmISC
- AlicenseAqualityDmaintenanceEnables AI assistants to read, search, and traverse your reMarkable tablet's library, including handwritten notes via OCR.12MIT
- AlicenseAqualityCmaintenanceProvides read-only access to finished meeting transcripts for AI assistants like Claude Code or Codex, enabling them to answer questions or draft summaries based on the transcriptions.43Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables read-only file-management operations from AI assistants, including health checks, connection and folder listings, search, share-link resolution, metadata retrieval, and on-demand document reading.MIT