transfa MCP server
✓ VerifiedMemungkinkan AI agent untuk mengunggah, membagikan, dan mengelola file secara otonom melalui signed links dengan verifikasi SHA-256 dan penerapan TTL.
Juga dikenal sebagai colapsis/transfa, transfa-mcp
- Stars
- 21
- Tools
- 5
- Unduhan, 30 hari
- —
- Versi terbaru
- 1.0.1
- Commit terakhir
- 15 Mei 2026
- Lisensi
- MIT
Apa itu transfa MCP?
transfa adalah MCP server. Memungkinkan AI agent untuk mengunggah, membagikan, dan mengelola file secara otonom melalui signed links dengan verifikasi SHA-256 dan penerapan TTL. Server ini menyediakan 5 tool, seperti upload, file_info, list_uploads.
Ringkasan dibuat dari README proyek
Tentang transfa MCP server
transfa menyediakan solusi berbagi file khusus yang dirancang spesifik untuk lingkungan terminal, shell scripts, dan AI agents. Layanan ini memungkinkan pengguna untuk mengunggah file dalam format apa pun, termasuk model machine learning berukuran besar seperti .gguf atau .safetensors, dengan dukungan ukuran hingga 100 GB. Layanan ini dibangun agar dapat bekerja tanpa memerlukan akun, meskipun API key dapat digunakan untuk fitur lanjutan dan limit yang lebih tinggi.
Developer dapat mengintegrasikan server ini ke dalam client yang kompatibel dengan MCP seperti Claude atau Cursor menggunakan package transfa-mcp. Server ini menyediakan tools spesifik seperti upload, file_info, list_uploads, delete_upload, dan run_artifacts. Tools tersebut memungkinkan agent untuk mengelola file secara otonom, memverifikasi integritas melalui checksum SHA-256, dan menerapkan keamanan melalui proteksi kata sandi, batas unduhan, serta pengaturan time-to-live. Ini adalah pilihan ideal untuk memindahkan build artifacts, kode, atau file data science melalui pipeline otomatis.
Apa yang bisa Anda lakukan dengannya
- 1Berbagi file secara otonom oleh agentAI agent dapat mengunggah laporan yang dihasilkan dan memberikan link langsung kepada pengguna di dalam chat.
- 2Manajemen artifact CI/CD otomatisDeveloper dapat menggunakan layanan ini untuk mengunggah build artifacts dan laporan coverage langsung dari workflow GitHub Actions.
- 3Distribusi file yang amanAnda dapat melindungi file sensitif dengan menambahkan kata sandi dan mengatur waktu kedaluwarsa tertentu.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Cara menginstal transfa MCP
Format diverifikasi 10 Nov 2026Tambahkan ke CursorTambahkan ke GooseInstal transfa MCP di Claude Code
$ claude mcp add --env 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' transfa -- npx -y transfa-mcpInstal transfa MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Instal transfa MCP di VS Code
.vscode/mcp.json
{
"servers": {
"transfa": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Instal transfa MCP di VS Code CLI
$ code --add-mcp '{"name":"transfa","type":"stdio","command":"npx","args":["-y","transfa-mcp"],"env":{"TRANSFA_API_KEY":"<YOUR_TRANSFA_API_KEY>"}}'Instal transfa MCP di Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Instal transfa MCP di Codex
$ codex mcp add transfa --env 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' -- npx -y transfa-mcpInstal transfa MCP di Codex config.toml
~/.codex/config.toml
[mcp_servers.transfa] command = "npx" args = ["-y", "transfa-mcp"] [mcp_servers.transfa.env] TRANSFA_API_KEY = "<YOUR_TRANSFA_API_KEY>"
Instal transfa MCP di Gemini CLI
$ gemini mcp add -s user -e 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' transfa npx -- -y transfa-mcpInstal transfa MCP di Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Tool transfa MCP 5
Terdeteksi dari READMEuploadfile_infolist_uploadsdelete_uploadrun_artifacts
| upload | — | |
| file_info | — | |
| list_uploads | — | |
| delete_upload | — | |
| run_artifacts | — |
Konfigurasi
TRANSFA_API_KEYRahasiaYour Transfa API key. Free at transfa.sh — leave empty for guest mode (10 MB limit).
TRANSFA_BASE_URLCustom Transfa instance URL for self-hosted deployments. Defaults to https://transfa.sh
| Nama | Deskripsi | Tipe |
|---|---|---|
| TRANSFA_API_KEY | Your Transfa API key. Free at transfa.sh — leave empty for guest mode (10 MB limit). | Rahasia |
| TRANSFA_BASE_URL | Custom Transfa instance URL for self-hosted deployments. Defaults to https://transfa.sh |
Pengecekan otomatis
Berjalan 14 Nov 2026Laporan lengkap →Lolos checks otomatis kami. Ini bukan audit keamanan: baca kodenya dan berikan server akses paling terbatas yang dibutuhkannya. Cara kerja checks
- Source repository terhubung dan dapat dijangkaucolapsis/transfa is public and reachablegithub.com/colapsis/transfa ↗Lolos
- Nama paket mencantumkan repositori ini sebagai sumbernyatransfa-mcp names colapsis/transfa as sourcenpmjs.com/package/transfa-mcp ↗Lolos
- Provenance build (atestasi Sigstore)No build attestation published for this releaseTidak diperiksa
- Lisensi open source (OSI)MITspdx.org/licenses/MIT.html ↗Lolos
- Ada commit atau release dalam satu tahun terakhirLast commit or release 2026-05-15github.com/colapsis/transfa ↗Lolos
- OpenSSF ScorecardTidak diperiksa
- Nama package tidak mirip dengan package populerNo popular package one edit away from transfa-mcpLolos
- Tidak ada advisory kritis pada paket atau dependensinya99 resolved dependencies checked; no critical advisoryosv.dev ↗Lolos
- Tidak ada instruksi tersembunyi untuk model5 tool descriptions and the README read; no override phrases, credential paths or hidden charactersLolos
- Tools yang bersifat destruktif telah diberi labelTidak diperiksa
- Endpoint remote merespons handshake MCPTidak diperiksa
README
Lihat di GitHub$ tf upload model.gguf
✓ Uploaded model.gguf (4.2 GB) → https://transfa.sh/f/xK9mRp
SHA-256 a3f8c2...d91b
Expires in 7 days
Why transfa?
Most file-sharing tools are built for humans clicking through UIs. transfa is built for the terminal — designed to be called from shell scripts, CI pipelines, and AI agents (Claude, GPT, Cursor, etc.) that need to move files without friction.
- No signup required — just install and upload
- Any format, any size — up to 100 GB; ML models, archives, binaries, code, media
- Built for agents — JSON API, SHA-256 checksums, idempotent uploads
- Password protection, download limits, TTL — full control over every link
- 100+ formats detected — MIME type auto-detection including
.gguf,.safetensors,.parquet,.ipynb, and more
Install
Node.js / CLI
npm install -g transfa
Python SDK
pip install transfa
MCP server (Claude, Cursor, any MCP-compatible agent)
npx -y transfa-mcp
Or use the raw install script:
curl -fsSL https://transfa.sh/install | sh
Quick start
# Upload a file (no account needed)
tf upload photo.jpg
# Upload with custom TTL and password
tf upload secret.zip --ttl 24h --password hunter2
# Upload and pipe the URL to clipboard
tf upload bundle.tar.gz | grep url | awk '{print $2}' | pbcopy
# Download a file
tf download https://transfa.sh/f/xK9mRp
# List your uploads
tf list
# Delete an upload
tf delete xK9mRp
GitHub Actions
Upload build artifacts, coverage reports, and any CI output straight from your workflow:
- uses: colapsis/transfa-action@v1
id: upload
with:
file: ./dist/report.pdf
api-key: ${{ secrets.TRANSFA_API_KEY }}
- run: echo "${{ steps.upload.outputs.agent-link }}" >> $GITHUB_STEP_SUMMARY
All five outputs are available after the step: id, agent-link, human-link, sha256, expires-at.
See colapsis/transfa-action for the full input reference and more examples (password-protected links, self-hosted instances, single-download limits).
API
transfa is fully REST. Every operation the CLI does, you can do with curl or any HTTP client.
Upload
curl -X POST https://transfa.sh/api/upload \
-H "Authorization: Bearer $TF_KEY" \
-F "file=@model.gguf" \
-F "ttl=7d"
{
"id": "xK9mRp",
"url": "https://transfa.sh/f/xK9mRp",
"download_url": "https://transfa.sh/api/download/xK9mRp",
"filename": "model.gguf",
"bytes": 4512345678,
"sha256": "a3f8c2...d91b",
"expires_at": "2026-05-21T12:00:00.000Z"
}
Upload options (form fields or headers):
| Field | Header | Description |
|---|---|---|
ttl |
X-Transfa-TTL |
Expiry: 1h, 24h, 7d, 30d |
password |
— | Password-protect the download link |
max_downloads |
— | Burn after N downloads |
filename |
X-Transfa-Filename |
Override the stored filename |
Download
# Direct download (no auth required)
curl -L https://transfa.sh/api/download/xK9mRp -o model.gguf
# Password-protected
curl -L "https://transfa.sh/api/download/xK9mRp?password=hunter2" -o secret.zip
File info
curl https://transfa.sh/api/download/info/xK9mRp
{
"id": "xK9mRp",
"filename": "model.gguf",
"bytes": 4512345678,
"sha256": "a3f8c2...d91b",
"mime_type": "application/octet-stream",
"download_count": 3,
"has_password": false,
"expires_at": "2026-05-21T12:00:00.000Z",
"active": true
}
List uploads
curl https://transfa.sh/api/upload \
-H "Authorization: Bearer $TF_KEY"
Delete
curl -X DELETE https://transfa.sh/api/upload/xK9mRp \
-H "Authorization: Bearer $TF_KEY"
Supported formats
Over 100 file types with correct MIME detection — including types not in standard MIME databases:
| Category | Formats |
|---|---|
| ML models | .gguf .ggml .safetensors .onnx .pt .pth .pkl .ckpt .tflite .mlmodel .lora |
| Data science | .parquet .arrow .feather .h5 .hdf5 .npz .npy .lance .duckdb .ipynb |
| Code | .py .rs .go .ts .kt .swift .scala .cu .sol .vy .elm .zig |
| Archives | .zip .tar .gz .bz2 .xz .7z .zst |
| 3D / Design | .glb .gltf .obj .stl .usdz .blend .fig .sketch .psd |
| Media | .avif .webp .heic .jxl .opus .flac .webm .av1 |
| Config | .toml .hcl .tf .tfvars .nix .dhall .lock .env |
| Everything else | .wasm .sqlite .db .pem .crt .p12 + all standard types |
Any other format is accepted as application/octet-stream — nothing is blocked.
Plans
| Guest | Free | Pro | Team | |
|---|---|---|---|---|
| Max file size | 10 MB | 500 MB | 50 GB | 100 GB |
| Uploads / day | 5 | 20 | 500 | 5,000 |
| Max TTL | 24h | 48h | 30 days | 180 days |
| Storage | — | — | Unlimited | Unlimited |
| Price | Free | Free | $12/mo | $48/mo |
| Trial | — | — | 3-day free trial | 3-day free trial |
MCP server (Claude, Cursor, and any MCP-compatible agent)
transfa ships an MCP server that lets Claude, Cursor, and any MCP-compatible agent upload and share files autonomously — no shell commands, no infrastructure setup.
npx -y transfa-mcp
Claude Desktop config
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": ["-y", "transfa-mcp"],
"env": {
"TRANSFA_API_KEY": "your-api-key"
}
}
}
}
The API key is optional — the server works in guest mode without one (10 MB / 24h limit).
Available MCP tools
| Tool | Description |
|---|---|
upload |
Upload a file from the local filesystem. Returns agent_link (direct URL), human_link (share page), and sha256. Accepts run_id, step, consumer, intent for provenance. |
file_info |
Get metadata about an upload — filename, size, SHA-256, expiry, download count, provenance fields. |
list_uploads |
List recent uploads (requires API key). |
delete_upload |
Delete an upload immediately. |
run_artifacts |
Get all files uploaded under a run_id — the full provenance manifest for a pipeline run or agent session. |
Example agent workflow
When Claude has transfa as an MCP tool, it can:
- Generate a report → call
upload→ get a link → paste the link in the conversation - Pass a file to another agent by sharing the
agent_link - Clean up with
delete_uploadwhen done
Python SDK
import transfa
# Upload
result = transfa.upload("model.pt", ttl="24h", run_id="run-42", artifact=True)
print(result.url, result.sha256)
# Download (SHA-256 verified)
transfa.download(result.id, output="model.pt")
# Provenance manifest for a run
manifest = transfa.run_artifacts("run-42")
# Async
async with transfa.AsyncClient() as client:
result = await client.upload("model.pt")
See python/README.md for the full API reference.
Use with AI agents (script/subprocess)
transfa is also designed to be called from shell scripts, CI pipelines, and agents that prefer subprocess calls:
import subprocess, json
result = subprocess.run(
["tf", "upload", "output.csv"],
capture_output=True, text=True
)
data = json.loads(result.stdout)
print(data["url"]) # https://transfa.sh/f/xK9mRp
Or use the REST API directly — no SDKs, no auth flows, just HTTP.
Self-hosting
git clone https://github.com/colapsis/transfa.git
cd transfa
cp .env.example .env # fill in your keys
npm install --prefix server
npm install --prefix cli
npm run build --prefix frontend
pm2 start ecosystem.config.cjs
Requirements: Node.js 18+, nginx (for SSL/proxy)
See nginx/transfa.conf for a production-ready nginx config.
Environment variables
| Variable | Description |
|---|---|
PORT |
Server port (default: 3001) |
BASE_URL |
Public URL e.g. https://transfa.sh |
STRIPE_SECRET_KEY |
Stripe secret key for billing |
STRIPE_WEBHOOK_SECRET |
Stripe webhook signing secret |
STRIPE_PRO_PRICE_ID |
Stripe price ID for Pro plan |
STRIPE_TEAM_PRICE_ID |
Stripe price ID for Team plan |
Security
Found a vulnerability? Please email tansfa.sh@gmail.com or see SECURITY.md.
Do not open a public issue for security reports.
License
MIT — © 2026 transfa contributors
Pertanyaan tentang transfa MCP
Bagaimana cara menambahkan transfa MCP ke Claude Code?
Jalankan claude mcp add --env 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' transfa -- npx -y transfa-mcp di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan transfa MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Tool apa yang disediakan transfa MCP?
Server ini menyediakan 5 tool, termasuk upload, file_info, list_uploads, delete_upload, run_artifacts.
Apakah transfa memerlukan akun untuk digunakan?
Tidak, Anda dapat mengunggah file tanpa mendaftar; layanan ini dirancang untuk penggunaan tanpa hambatan.
Berapa ukuran file maksimum yang didukung?
Layanan ini mendukung file hingga 100 GB.
Dapatkah saya melindungi link yang dibagikan?
Ya, Anda dapat menambahkan proteksi kata sandi dan mengatur batas unduhan atau time-to-live (TTL) untuk setiap link.
Apakah diperlukan API key untuk MCP server ini?
API key bersifat opsional; server dapat beroperasi dalam guest mode dengan limit 10 MB dan 24 jam.