transfa is an extremely simple file-sharing tool built for AI agents and developers, positioned somewhat like "WeTransfer for agents." Most file-sharing tools are designed for people to operate by clicking through a graphical interface, whereas transfa is built for the terminal, making it suitable for calling from shell scripts, CI pipelines, and AI agents (Claude, GPT, Cursor, etc.) that need frictionless file transfer.
Main capabilities:
- No registration required; upload as soon as it is installed.
- Supports any format and any size, up to 100 GB, including machine learning models, archives, binaries, code, and media files.
- Designed for agents: provides a JSON API, SHA-256 checksums, and idempotent uploads.
- Per-link controls: password protection, download count limits, and TTL expiration.
- Automatically detects MIME types for more than 100 formats, including .gguf, .safetensors, .parquet, .ipynb, and other types that are not in standard MIME databases; all other formats are accepted as application/octet-stream and are not blocked.
- Provides an MCP server, supporting Claude, Cursor, and any MCP-compatible agent.
- Fully REST-based; everything the CLI does can also be done with curl or any HTTP client.
Usage:
- Upload with one command via the CLI and get a share link.
- Upload CI outputs such as build artifacts and coverage reports directly in CI workflows; after the step runs, five outputs are available: id, agent-link, human-link, sha256, expires-at.
- Call it directly through the REST API; upload options can be passed via form fields or request headers.
- When using the MCP server, add the configuration to Claude Desktop's claude_desktop_config.json; the API key is optional, and without a key it runs in guest mode (limited to 10 MB / 24 hours). Available MCP tools include upload, delete, and others; an example agent workflow: generate a report → call upload → get the link → paste the link into the conversation, or pass the file to another agent by sharing agent_link, then clean up with delete_upload when done.
- It can also be invoked as a subprocess from shell scripts and agents.
Deployment and environment:
- Self-hosting requires Node.js 18+ and nginx for SSL/proxying; the repository provides a production-ready nginx configuration example.
- Supports configuration through environment variables.
Security and license:
- If you discover a vulnerability, please report it by email or through SECURITY.md; do not open a public issue.
- Licensed under the MIT License.
Limitations: Detailed information about pricing appears in the material only as a link; the specific charges, prices, and free quota are not explicitly provided in the material; for the full installation commands and configuration code, please see the project repository.