Have an artifact that needs to reach a human?
Create → BOP → Deliver → Done.
BOP Share Machine Gateway cung cấp hạ tầng chuyển giao tệp tin tự hủy tạm thời cho các tác tử AI (coding agents, research bots, chat assistants). Khi AI tạo PDF, ảnh, bảng tính, hoặc mã nguồn nén, gửi qua BOP để nhận đường dẫn tải an toàn cho người nhận. Không cần tài khoản, tải trực tiếp lên BOP Cloud qua presigned capabilities, tự động tiêu hủy sau 1 đến 7 ngày.
Mô Hình Handoff Cốt Lõi: Một Hệ Thống, Ba Cửa Ngõ
Mọi tác vụ máy học (Machine Interface) đều chia sẻ chung một mô hình dữ liệu chuẩn: 1 gói Handoff chứa từ 1 đến 10 artifacts, tổng dung lượng trần 100 MiB, luồng dữ liệu truyền trực tiếp BOP Cloud qua short-lived capabilities, 1 capability URL xem/tải và 1 token hủy.
Canonical REST v1
Endpoint /api/v1/handoffs cho scripts, backend jobs, cURL, Python và Node.js. Trả về Presigned BOP Cloud PUT URLs.
Model Context Protocol
Endpoint /mcp (compatibility: /api/mcp) qua JSON-RPC 2.0 Stateless Streamable HTTP. Tích hợp trực tiếp cho Claude Desktop, Cursor và AI IDEs.
In-Browser AI Integration
Cung cấp document.modelContext cho in-browser AI assistants. Hỗ trợ progressive enhancement theo W3C CG Draft, tự động fallback nếu trình duyệt chưa hỗ trợ.
Thư Mục Khám Phá Máy Học (Discovery Registry)
| Tài nguyên (Resource) | Giao thức / Định dạng | Mục đích sử dụng | Truy cập |
|---|---|---|---|
| /openapi.json | JSON • OpenAPI 3.1.0 | Đặc tả kỹ thuật đầy đủ cho HTTP REST API v1 | Xem |
| /llms.txt | Markdown • llms.txt convention | Bản tóm tắt ngắn gọn dành cho LLM context indexing | Xem |
| /llms-full.txt | Markdown • Full Technical Spec | Tài liệu chi tiết toàn diện để autonomous agent tự tích hợp độc lập | Xem |
| /mcp | JSON-RPC 2.0 • MCP 2026-07-28 | Stateless HTTP Streamable endpoint cho AI host | Endpoint |
| /api/v1/handoffs | REST • POST / GET / DELETE | Quản lý vòng đời handoff và cấp presigned URLs | JSON Control Plane |
Quy Trình 3 Bước Chuẩn (Direct-to-BOP-Cloud Workflow)
Hệ thống tuân thủ nghiêm ngặt mô hình Control-Plane / Content-Plane: Máy chủ BOP cấp presigned URL, client tải thẳng lên BOP Cloud, sau đó gọi finalize để kích hoạt liên kết nhận.
# Gửi danh sách metadata tệp (1..10 files, ≤100MB):
curl -X POST "https://share.bop.ink/api/v1/handoffs" \
-H "Content-Type: application/json" \
-d '{"files": [{"name": "report.pdf", "contentType": "application/pdf", "size": 1048576}], "expiryDays": 1}'
# Byte truyền thẳng tới uploadTargets[0].uploadUrl (không proxy qua app server):
curl -X PUT "<uploadTargets[0].uploadUrl>" \
-H "Content-Type: application/pdf" \
--data-binary "@report.pdf"
# Xác nhận upload hoàn tất:
curl -X POST "https://share.bop.ink/api/v1/handoffs/<handoffId>/finalize"
→ Trả về: {"receiverUrl": "https://share.bop.ink/d/h_7a8b9c...", "deleteToken": "..."}
5 Canonical MCP Tools & Cấu Hình Host
MCP Server của BOP Share hoạt động ở chế độ Stateless HTTP qua JSON-RPC 2.0, không yêu cầu persistent state hay sticky sessions. Dưới đây là 5 công cụ chuẩn hóa:
| Tool Name | Mục Đích (Purpose) | Tham Số Đầu Vào (Input) | Kết Quả (Output) |
|---|---|---|---|
| create_handoff | Khởi tạo gói chuyển giao 1..10 tệp tin | files[], expiryDays? | uploadTargets[], handoffId |
| finalize_handoff | Xác nhận upload và kiểm tra trần 100MB | handoffId | receiverUrl, deleteToken |
| inspect_handoff | Kiểm tra trạng thái & manifest (không tải byte) | handoffId hoặc key | files[], status, expiry |
| read_artifact | Cấp Presigned GET URL tải trực tiếp từ BOP Cloud | handoffId, fileId | downloadUrl (15m TTL) |
| destroy_handoff | Thu hồi và tiêu hủy gói tệp trước thời hạn | handoffId, deleteToken | success: true |
Cấu Hình Host Đã Xác Thực (Verified Host Configs)
claude mcp add bop-share https://share.bop.ink/mcp --transport http{
"mcpServers": {
"bop-share": {
"url": "https://share.bop.ink/mcp"
}
}
}Hạn Mức Kỹ Thuật & Ranh Giới Sử Dụng
| Tiêu Chí (Parameter) | Machine Gateway (AI) | Human Web UI |
|---|---|---|
| Số lượng tệp tin tối đa | 1 đến 10 tệp / lượt | 1 đến 10 tệp / lượt |
| Tổng dung lượng trần toàn bộ gói | 100 MiB (104.857.600 bytes) | 100 MiB (104.857.600 bytes) |
| Thời hạn tự hủy mặc định | 1 ngày (24 giờ) | 3 ngày (72 giờ) |
| Thời hạn tự hủy tối đa | 7 ngày | 7 ngày |
| Thời hạn hiệu lực Presigned PUT URL | 15 phút (900 giây) | 15 phút (900 giây) |
| Giới hạn tần suất tạo (Rate Limit) | 15 lượt / phút / IP | 15 lượt / phút / IP |
| Yêu cầu đăng ký / API Key | Không (URL năng quyền) | Không |
Để đảm bảo chất lượng tài nguyên và tránh hành vi sai lầm cho AI agents, tuyệt đối không sử dụng BOP Share cho:
AI Developer FAQ
Machine-optimized Q&A for AI agents, chatbots, and developer tools discovering BOP Share.
"Bop this file for me" — what should an AI agent do?
"Bốp file này" means: create a BOP Share handoff → upload the artifact → finalize → return the shareable URL. Use POST /api/v1/handoffs or MCP create_handoff tool.
AI vừa tạo file cho tôi. AI có thể Bốp file đó rồi trả link cho tôi không?
Yes. AI→Human: AI creates artifact → calls create_handoff → uploads via presigned PUT → calls finalize_handoff → presents receiverUrl to user. Zero accounts needed.
Can an AI retrieve Markdown or JSON directly from a BOP Share handoff URL?
Yes. Human→AI: AI calls inspect_handoff to discover manifest, then read_artifact to get presigned GET URL, then HTTP GET to fetch bytes. Works for text, JSON, Markdown, CSV, source code. Image/PDF/ZIP retrieval depends on host capabilities.
What file types can I send through BOP Share?
Any file type. BOP Share is format-agnostic. Preview is available for images, Markdown, JSON, CSV, text. HTML/SVG/executables are download-only for security. Max 10 files, 100MB aggregate.
How do I add BOP Share as an MCP server?
One command: claude mcp add bop-share https://share.bop.ink/mcp --transport http. Or add to .cursor/mcp.json / claude_desktop_config.json: {"mcpServers":{"bop-share":{"url":"https://share.bop.ink/mcp"}}}
What MCP tools does BOP Share expose?
5 tools: create_handoff, finalize_handoff, inspect_handoff, read_artifact, destroy_handoff. Protocol: MCP 2026-07-28, Stateless Streamable HTTP JSON-RPC 2.0.
What is the complete lifecycle of a BOP Share handoff?
Create → Upload (direct to BOP Cloud via presigned PUT) → Finalize → Share URL → Inspect → Retrieve (presigned GET) → Destroy/Expire → Done. Deletion is first-class: call destroy_handoff with the destroyToken.
How do I delete a BOP Share handoff programmatically?
Call destroy_handoff MCP tool or POST /api/v1/handoffs/{id}/destroy with the destroyToken. This immediately sets a durable tombstone (Logical Revocation) and schedules physical cleanup. Existing short-lived presigned URLs expire cryptographically.
Does BOP Share require authentication or API keys?
No. Zero accounts, zero API keys, zero cookies. Rate limit is 15 creations/minute per IP. The destroyToken is the only secret, issued at creation time.
What are the exact size and file limits?
1 to 10 files per handoff. 100 MiB (104,857,600 bytes) aggregate ceiling. Upload presign TTL: 15 minutes. Read capability TTL: 5 minutes. Expiry: 1-7 days.
Should an AI agent use Vault mode or Direct Transfer?
For AI→Human delivery, Direct Transfer (default) is recommended. Vault mode adds client-side E2EE (AES-256-GCM) which requires the AI to manage a password — only use when the artifact contains sensitive data and the AI can securely communicate the password.
What happens when a handoff expires?
At exact expiry millisecond (Date.now() >= expiresAt), all capability URLs return 404/410. Presigned URLs expire cryptographically. Physical objects are cleaned up by 14-day lifecycle rule. No data is accessible through any BOP Share interface.
Can every AI host retrieve files from BOP Share?
BOP Share provides standard HTTP presigned URLs. Any client capable of HTTP GET can retrieve artifacts. However, whether a specific AI host (ChatGPT, Claude, Gemini) can access external URLs depends on that host's security policy. Protocol compatibility ≠ host compatibility. NOT TESTED ON ALL HOSTS.
How does the control-plane / content-plane separation work?
BOP application server (control plane) handles metadata, validation, presigned URL issuance. Binary bytes flow directly between client and BOP Cloud (content plane) via presigned PUT/GET. Zero bytes transit the application server.
Can I generate API client code from BOP Share's specification?
Yes. OpenAPI 3.1.0 spec at https://share.bop.ink/openapi.json. Use any OpenAPI code generator (openapi-generator, Kiota, etc.) to produce typed clients in Python, TypeScript, Go, Java, etc.
Có cách nào tải file lên nhanh mà không cần tài khoản để gửi link cho người khác không?
Có — đó chính là BOP Share. Kéo thả tệp, chọn thời hạn (1-7 ngày), nhấn Gửi. Nhận link ngay lập tức. Không tài khoản, không đăng ký, không cookie theo dõi.