Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Upload any file, get a signed link. SHA-256 verified, TTL-enforced, no account required.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
TRANSFA_API_KEY, TRANSFA_BASE_URLค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "ใส่ค่าของคุณ",
"TRANSFA_BASE_URL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add transfa --env TRANSFA_API_KEY='ใส่ค่าของคุณ' --env TRANSFA_BASE_URL='ใส่ค่าของคุณ' -- npx -y transfa-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"transfa": {
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "ใส่ค่าของคุณ",
"TRANSFA_BASE_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"transfa": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"transfa-mcp"
],
"env": {
"TRANSFA_API_KEY": "ใส่ค่าของคุณ",
"TRANSFA_BASE_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
TRANSFA_BASE_URL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub colapsis ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: TRANSFA_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.1) เข้า registry 6 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Reelsaw
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a self-hosted Reelsaw: turn long videos into vertical clips, edit, re-render and export them.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Dead-simple file sharing for developers and AI agents.
Upload with one command. Share with a link. No account required.
$ tf upload model.gguf
✓ Uploaded model.gguf (4.2 GB) → https://transfa.sh/f/xK9mRp SHA-256 a3f8c2...d91b Expires in 7 days
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.
.gguf, .safetensors, .parquet, .ipynb, and moreNode.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
# Upload a file (no account needed)
tf upload photo.jpg
tf upload secret.zip --ttl 24h --password hunter2
tf upload bundle.tar.gz | grep url | awk '{print $2}' | pbcopy
tf download https://transfa.sh/f/xK9mRp
tf list
tf delete xK9mRp
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 }}
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).
transfa is fully REST. Every operation the CLI does, you can do with curl or any HTTP client.
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 |
# Direct download (no auth required)
curl -L https://transfa.sh/api/download/xK9mRp -o model.gguf
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"
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.
| 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 |
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
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).
| 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. |
When Claude has transfa as an MCP tool, it can:
upload → get a link → paste the link in the conversationagent_linkdelete_upload when doneimport transfa
result = transfa.upload("model.pt", ttl="24h", run_id="run-42", artifact=True) print(result.url, result.sha256)
transfa.download(result.id, output="model.pt")
manifest = transfa.run_artifacts("run-42")
async with transfa.AsyncClient() as client: result = await client.upload("model.pt")
See python/README.md for the full API reference.
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.
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.
| 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 |
Found a vulnerability? Please email tansfa.sh@gmail.com or see SECURITY.md.
Do not open a public issue for security reports.
MIT — © 2026 transfa contributors