Serveur MCP transfa
✓ VérifiéPermet aux agents IA de télécharger, partager et gérer des fichiers de manière autonome via des liens signés avec vérification SHA-256 et application de TTL.
Aussi connu sous colapsis/transfa, transfa-mcp
- Étoiles
- 21
- Outils
- 5
- Téléchargements, 30 jours
- —
- Dernière version
- 1.0.1
- Dernier commit
- 15 mai 2026
- Licence
- MIT
Qu'est-ce que transfa MCP ?
transfa est un serveur MCP. Permet aux agents IA de télécharger, partager et gérer des fichiers de manière autonome via des liens signés avec vérification SHA-256 et application de TTL. Il expose 5 outils, comme upload, file_info, list_uploads.
Résumé généré à partir du README du projet
À propos du MCP server transfa
transfa propose une solution de partage de fichiers spécialisée, conçue spécifiquement pour les environnements de terminal, les scripts shell et les agents IA. Il permet aux utilisateurs de télécharger des fichiers de n'importe quel format, y compris des modèles de machine learning volumineux comme .gguf ou .safetensors, avec une prise en charge allant jusqu'à 100 GB. Le service est conçu pour fonctionner sans nécessiter de compte, bien qu'une clé API puisse être utilisée pour accéder à des fonctionnalités avancées et à des limites plus élevées.
Les développeurs peuvent intégrer ce serveur dans des clients compatibles MCP comme Claude ou Cursor en utilisant le package transfa-mcp. Le serveur fournit des outils spécifiques tels que upload, file_info, list_uploads, delete_upload et run_artifacts. Ces outils permettent aux agents de gérer des fichiers de manière autonome, de vérifier l'intégrité via des checksums SHA-256 et d'appliquer des mesures de sécurité grâce à la protection par mot de passe, aux limites de téléchargement et aux paramètres de durée de vie (TTL). C'est un choix idéal pour transférer des artefacts de build, du code ou des fichiers de science des données via des pipelines automatisés.
Ce que vous pouvez faire avec
- 1Partage de fichiers autonome par les agentsUn agent IA peut télécharger un rapport généré et fournir un lien direct à l'utilisateur dans une discussion.
- 2Gestion automatisée des artefacts CI/CDLes développeurs peuvent utiliser le service pour télécharger des artefacts de build et des rapports de couverture directement depuis des workflows GitHub Actions.
- 3Distribution sécurisée de fichiersVous pouvez protéger des fichiers sensibles en ajoutant un mot de passe et en définissant une date d'expiration spécifique.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer transfa MCP
Formats vérifiés le 10 nov. 2026Ajouter à CursorAjouter à GooseInstaller transfa MCP dans Claude Code
$ claude mcp add --env 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' transfa -- npx -y transfa-mcpInstaller transfa MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Installer transfa MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"transfa": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Installer transfa MCP dans VS Code CLI
$ code --add-mcp '{"name":"transfa","type":"stdio","command":"npx","args":["-y","transfa-mcp"],"env":{"TRANSFA_API_KEY":"<YOUR_TRANSFA_API_KEY>"}}'Installer transfa MCP dans Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Installer transfa MCP dans Codex
$ codex mcp add transfa --env 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' -- npx -y transfa-mcpInstaller transfa MCP dans 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>"
Installer transfa MCP dans Gemini CLI
$ gemini mcp add -s user -e 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' transfa npx -- -y transfa-mcpInstaller transfa MCP dans Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<YOUR_TRANSFA_API_KEY>"
}
}
}
}Outils MCP transfa 5
Détectés depuis le READMEuploadfile_infolist_uploadsdelete_uploadrun_artifacts
| upload | — | |
| file_info | — | |
| list_uploads | — | |
| delete_upload | — | |
| run_artifacts | — |
Configuration
TRANSFA_API_KEYSecretYour 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
| Nom | Description | Type |
|---|---|---|
| TRANSFA_API_KEY | Your Transfa API key. Free at transfa.sh — leave empty for guest mode (10 MB limit). | Secret |
| TRANSFA_BASE_URL | Custom Transfa instance URL for self-hosted deployments. Defaults to https://transfa.sh |
Vérifications automatisées
Exécuté le 14 nov. 2026Rapport complet →A passé nos vérifications automatisées. Il ne s'agit pas d'un audit de sécurité : lisez le code et donnez au serveur l'accès le plus restreint dont il a besoin. Fonctionnement des vérifications
- Dépôt source lié et accessiblecolapsis/transfa is public and reachablegithub.com/colapsis/transfa ↗Réussi
- Le nom du package correspond au dépôt sourcetransfa-mcp names colapsis/transfa as sourcenpmjs.com/package/transfa-mcp ↗Réussi
- Provenance du build (attestation Sigstore)No build attestation published for this releaseNon vérifié
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-05-15github.com/colapsis/transfa ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNo popular package one edit away from transfa-mcpRéussi
- Aucun avis critique dans le package ou ses dépendances99 resolved dependencies checked; no critical advisoryosv.dev ↗Réussi
- Aucune instruction cachée destinée au modèle5 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur 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
Questions sur transfa MCP
Comment ajouter transfa MCP à Claude Code ?
Exécutez claude mcp add --env 'TRANSFA_API_KEY=<YOUR_TRANSFA_API_KEY>' transfa -- npx -y transfa-mcp dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter transfa MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
Quels outils transfa MCP fournit-il ?
Il expose 5 outils, dont upload, file_info, list_uploads, delete_upload, run_artifacts.
L'utilisation de transfa nécessite-t-elle un compte ?
Non, vous pouvez télécharger des fichiers sans inscription ; l'outil est conçu pour être utilisé sans friction.
Quelle est la taille maximale de fichier prise en charge ?
Le service prend en charge des fichiers allant jusqu'à 100 GB.
Puis-je protéger mes liens de partage ?
Oui, vous pouvez ajouter une protection par mot de passe et définir des limites de téléchargement ou une durée de vie (TTL) pour chaque lien.
Une clé API est-elle requise pour le MCP server ?
Une clé API est optionnelle ; le serveur peut fonctionner en mode invité avec une limite de 10 MB et une durée de 24h.