MCP server de transfa
✓ VerificadoPermite que los agentes de IA suban, compartan y gestionen archivos de forma autónoma mediante enlaces firmados con verificación SHA-256 y cumplimiento de TTL.
También conocido como colapsis/transfa, transfa-mcp
- Stars
- 21
- Herramientas
- 5
- Descargas, 30 días
- —
- Última versión
- 1.0.1
- Último commit
- 15 may 2026
- Licencia
- MIT
¿Qué es transfa MCP?
transfa es un MCP server. Permite que los agentes de IA suban, compartan y gestionen archivos de forma autónoma mediante enlaces firmados con verificación SHA-256 y cumplimiento de TTL. Expone 5 herramientas, como upload, file_info, list_uploads.
Resumen generado a partir del README del proyecto
Acerca del MCP server de transfa
transfa ofrece una solución especializada de intercambio de archivos diseñada específicamente para entornos de terminal, scripts de shell y agentes de IA. Permite a los usuarios subir archivos de cualquier formato, incluyendo modelos de machine learning de gran tamaño como .gguf o .safetensors, con soporte para tamaños de hasta 100 GB. El servicio está construido para funcionar sin necesidad de una cuenta, aunque se puede utilizar una API key para acceder a funciones avanzadas y límites superiores.
Los desarrolladores pueden integrar este servidor en clientes compatibles con MCP como Claude o Cursor utilizando el paquete transfa-mcp. El servidor proporciona herramientas específicas como upload, file_info, list_uploads, delete_upload y run_artifacts. Estas herramientas permiten que los agentes gestionen archivos de forma autónoma, verifiquen la integridad mediante checksums SHA-256 y apliquen seguridad mediante protección por contraseña, límites de descarga y configuraciones de tiempo de vida. Es una opción ideal para mover artefactos de compilación, código o archivos de ciencia de datos a través de pipelines automatizados.
Qué puedes hacer con él
- 1Intercambio autónomo de archivos por agentesUn agente de IA puede subir un reporte generado y proporcionar un enlace directo al usuario en un chat.
- 2Gestión automatizada de artefactos en CI/CDLos desarrolladores pueden usar el servicio para subir artefactos de compilación y reportes de cobertura directamente desde flujos de trabajo de GitHub Actions.
- 3Distribución segura de archivosPuedes proteger archivos sensibles añadiendo una contraseña y estableciendo un tiempo de expiración específico.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar transfa MCP
Formatos verificados el 10 nov 2026Añadir a CursorAñadir a GooseInstalar transfa MCP en Claude Code
$ claude mcp add --env 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' transfa -- npx -y transfa-mcpInstalar transfa MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Instalar transfa MCP en VS Code
.vscode/mcp.json
{
"servers": {
"transfa": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Instalar transfa MCP en VS Code CLI
$ code --add-mcp '{"name":"transfa","type":"stdio","command":"npx","args":["-y","transfa-mcp"],"env":{"TRANSFA_API_KEY":"<YOUR_TRANSFA_API_KEY>"}}'Instalar transfa MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Instalar transfa MCP en Codex
$ codex mcp add transfa --env 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' -- npx -y transfa-mcpInstalar transfa MCP en 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>"
Instalar transfa MCP en Gemini CLI
$ gemini mcp add -s user -e 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' transfa npx -- -y transfa-mcpInstalar transfa MCP en Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Herramientas de transfa MCP 5
Detectado desde el READMEuploadfile_infolist_uploadsdelete_uploadrun_artifacts
| upload | — | |
| file_info | — | |
| list_uploads | — | |
| delete_upload | — | |
| run_artifacts | — |
Configuración
TRANSFA_API_KEYSecretoYour 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
| Nombre | Descripción | Tipo |
|---|---|---|
| TRANSFA_API_KEY | Your Transfa API key. Free at transfa.sh — leave empty for guest mode (10 MB limit). | Secreto |
| TRANSFA_BASE_URL | Custom Transfa instance URL for self-hosted deployments. Defaults to https://transfa.sh |
Verificaciones automáticas
Ejecutado 14 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesiblecolapsis/transfa is public and reachablegithub.com/colapsis/transfa ↗Aprobado
- El paquete indica este repositorio como su origentransfa-mcp names colapsis/transfa as sourcenpmjs.com/package/transfa-mcp ↗Aprobado
- Procedencia de la compilación (atestación de Sigstore)No build attestation published for this releaseNo verificado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-05-15github.com/colapsis/transfa ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo popular package one edit away from transfa-mcpAprobado
- No hay avisos críticos en el paquete ni en sus dependencias99 resolved dependencies checked; no critical advisoryosv.dev ↗Aprobado
- Sin instrucciones ocultas para el modelo5 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en 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
Preguntas sobre transfa MCP
¿Cómo agrego transfa MCP a Claude Code?
Ejecuta claude mcp add --env 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' transfa -- npx -y transfa-mcp en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego transfa MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Qué herramientas proporciona transfa MCP?
Expone 5 herramientas, incluidas upload, file_info, list_uploads, delete_upload, run_artifacts.
¿Es necesario tener una cuenta para usar transfa?
No, puedes subir archivos sin registrarte; está diseñado para usarse sin fricciones.
¿Cuál es el tamaño máximo de archivo soportado?
El servicio admite archivos de hasta 100 GB.
¿Puedo proteger mis enlaces compartidos?
Sí, puedes añadir protección por contraseña y establecer límites de descarga o tiempo de vida (TTL) para cada enlace.
¿Se requiere una API key para el MCP server?
La API key es opcional; el servidor puede funcionar en modo invitado con un límite de 10 MB y 24h.