mcpField
T
transfa

transfa

ローカル
github.com/colapsisファイル・ストレージ2124 週間前に更新

transfa について

transfa は開発者と AI エージェント向けのファイル共有サービスで、コマンドライン、REST API、MCP サーバーから利用できます。アカウント登録なしでアップロードしてリンクを取得でき、SHA-256 チェックサムと有効期限の設定に対応しています。

主な機能

  1. 01ターミナルから一つのコマンドでアップロード
  2. 02ファイルごとの SHA-256 チェックサムを返却
  3. 03パスワード、ダウンロード上限、有効期限を設定
  4. 04スクリプトやエージェント向けの JSON REST API
  5. 05100 種類以上の形式を自動判定

活用シーン

  1. 01CI のビルド成果物やレポートのアップロード
  2. 02AI エージェントが生成したファイルの共有
  3. 03スクリプトから大容量のモデルファイルを配布

MCP 対応

transfa は MCP サーバーを提供し、Claude や Cursor などの MCP クライアントに upload、file_info、list_uploads、delete_upload、run_artifacts のツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"colapsis-transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "<TRANSFA_API_KEY>",
"TRANSFA_BASE_URL": "<TRANSFA_BASE_URL>"
}
}
}
}
起動コマンドnpx -y transfa-mcp
設定が必要な環境変数
TRANSFA_API_KEYシークレットYour 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

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmtransfa-mcp1.0.1

ツール

4

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
namestringいいえ受信者に表示するファイル名を上書きします
oncebooleanいいえ初回ダウンロード後に削除します
pathstringはいアップロードするファイルのパス
gracestringいいえ有効期限後の猶予期間。例: "12h" — TTL 終了後も、この期間中はファイルをダウンロードできます
expiresstringいいえTTL: "1h"、"24h"、"7d"、"30d"。デフォルト: 7d
passwordstringいいえリンクをパスワードで保護します
max_downloadsnumberいいえ最大ダウンロード回数

詳細

transfa

開発者やAIエージェントのための、シンプルなファイル共有。
1つのコマンドでアップロード。リンクで共有。アカウントは不要です。

npm バージョン npm ダウンロード数 node バージョン MIT ライセンス ホストサービス


$ tf upload model.gguf
✓ Uploaded  model.gguf  (4.2 GB)  →  https://transfa.sh/f/xK9mRp
  SHA-256    a3f8c2...d91b
  Expires    in 7 days

transfa を選ぶ理由

ほとんどのファイル共有ツールは、人がUIを操作することを前提に作られています。transfa はターミナル向けに作られており、シェルスクリプト、CI パイプライン、そしてファイルを手間なく転送する必要がある AI エージェント(Claude、GPT、Cursor など)から呼び出せるように設計されています。

  • サインアップ不要 — インストールしてアップロードするだけです
  • あらゆる形式、あらゆるサイズ — 最大100 GB。ML モデル、アーカイブ、バイナリ、コード、メディアに対応
  • エージェント向けに設計 — JSON API、SHA-256 チェックサム、冪等性のあるアップロード
  • パスワード保護、ダウンロード回数制限、TTL — すべてのリンクを細かく制御できます
  • 100種類以上の形式を検出 — .gguf、.safetensors、.parquet、.ipynb などを含む MIME タイプの自動検出

インストール

Node.js / CLI

npm install -g transfa

Python SDK

pip install transfa

MCP サーバー(Claude、Cursor、あらゆる MCP 互換エージェント)

npx -y transfa-mcp

または、未加工のインストールスクリプトを使用します:

curl -fsSL https://transfa.sh/install | sh

クイックスタート

# 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

ビルド成果物、カバレッジレポート、その他の CI 出力をワークフローから直接アップロードできます。

- 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

5つの出力はすべて、ステップの実行後に利用できます:id、agent-link、human-link、sha256、expires-at。

すべての入力項目のリファレンスと追加の例(パスワード保護リンク、セルフホストインスタンス、ダウンロード1回限りの制限)については、colapsis/transfa-action を参照してください。


API

transfa は完全な REST API です。CLI で実行できるすべての操作は、curl または任意の HTTP クライアントでも実行できます。

アップロード
curl -X POST https://transfa.sh/api/upload \
  -H "Authorization: Bearer $TF_KEY" \
  -F "[email protected]" \
  -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"
}

アップロードオプション(フォームフィールドまたはヘッダー):

フィールドヘッダー説明
ttlX-Transfa-TTL有効期限:1h、24h、7d、30d
password—ダウンロードリンクをパスワードで保護します
max_downloads—指定した回数のダウンロード後に無効化します
filenameX-Transfa-Filename保存するファイル名を上書きします
ダウンロード
# 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
ファイル情報
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
}
アップロード一覧
curl https://transfa.sh/api/upload \
  -H "Authorization: Bearer $TF_KEY"
削除
curl -X DELETE https://transfa.sh/api/upload/xK9mRp \
  -H "Authorization: Bearer $TF_KEY"

対応形式

標準の MIME データベースに含まれない形式も含め、100種類以上のファイル形式を正しく MIME 検出します。

カテゴリ形式
ML モデル.gguf .ggml .safetensors .onnx .pt .pth .pkl .ckpt .tflite .mlmodel .lora
データサイエンス.parquet .arrow .feather .h5 .hdf5 .npz .npy .lance .duckdb .ipynb
コード.py .rs .go .ts .kt .swift .scala .cu .sol .vy .elm .zig
アーカイブ.zip .tar .gz .bz2 .xz .7z .zst
3D / デザイン.glb .gltf .obj .stl .usdz .blend .fig .sketch .psd
メディア.avif .webp .heic .jxl .opus .flac .webm .av1
設定.toml .hcl .tf .tfvars .nix .dhall .lock .env
その他すべて.wasm .sqlite .db .pem .crt .p12 +すべての標準形式

その他の形式も application/octet-stream として受け付けます。ブロックされる形式はありません。


プラン

ゲスト無料ProTeam
最大ファイルサイズ10 MB500 MB50 GB100 GB
1日あたりのアップロード数5205005,000
最大TTL24h48h30 days180 days
ストレージ——無制限無制限
料金無料無料$12/mo$48/mo
トライアル——3-day free trial3-day free trial

→ 料金の詳細を見る


MCP サーバー(Claude、Cursor、およびすべてのMCP互換エージェント)

transfaには MCP サーバーが付属しており、Claude、Cursor、およびすべてのMCP互換エージェントが、シェルコマンドやインフラストラクチャのセットアップなしで、自律的にファイルをアップロードして共有できます。

npx -y transfa-mcp
Claude Desktopの設定

~/Library/Application Support/Claude/claude_desktop_config.jsonに追加します。

{
  "mcpServers": {
    "transfa": {
      "command": "npx",
      "args": ["-y", "transfa-mcp"],
      "env": {
        "TRANSFA_API_KEY": "your-api-key"
      }
    }
  }
}

APIキーは任意です。キーがなくてもゲストモードでサーバーを利用できます(上限は10 MB / 24hです)。

利用可能なMCPツール
ツール説明
uploadローカルファイルシステムからファイルをアップロードします。agent_link(直接URL)、human_link(共有ページ)、sha256を返します。来歴情報としてrun_id、step、consumer、intentを指定できます。
file_infoアップロードに関するメタデータ(ファイル名、サイズ、SHA-256、有効期限、ダウンロード数、来歴フィールド)を取得します。
list_uploads最近のアップロードを一覧表示します(APIキーが必要です)。
delete_uploadアップロードをただちに削除します。
run_artifactsrun_idのもとでアップロードされたすべてのファイルを取得します。パイプラインの実行またはエージェントセッションに関する来歴マニフェスト全体を確認できます。
エージェントのワークフロー例

ClaudeでtransfaをMCPツールとして使うと、次のことができます。

  1. レポートを生成 → uploadを呼び出す → リンクを取得する → 会話にリンクを貼り付ける
  2. agent_linkを共有して、別のエージェントにファイルを渡す
  3. 完了したらdelete_uploadでクリーンアップする

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")

APIリファレンスの全容については、python/README.mdを参照してください。


AIエージェントでの利用(スクリプト/サブプロセス)

transfaは、シェルスクリプト、CIパイプライン、サブプロセス呼び出しを優先するエージェントから利用することも想定して設計されています。

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

または、REST APIを直接利用できます。SDKも認証フローも不要で、HTTPだけで利用できます。


セルフホスト

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

要件: Node.js 18+、nginx(SSL/プロキシ用)

本番環境ですぐに使えるnginx設定については、nginx/transfa.confを参照してください。

環境変数
変数説明
PORTサーバーポート(デフォルト:3001)
BASE_URL公開URL(例:https://transfa.sh)
STRIPE_SECRET_KEY請求用のStripeシークレットキー
STRIPE_WEBHOOK_SECRETStripeウェブフック署名シークレット
STRIPE_PRO_PRICE_IDProプランのStripe価格ID
STRIPE_TEAM_PRICE_IDTeamプランのStripe価格ID

セキュリティ

脆弱性を発見した場合は、[email protected]にメールするか、SECURITY.mdを参照してください。

セキュリティに関する報告を公開Issueとして投稿しないでください。


ライセンス

MIT — © 2026 transfa contributors

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。