Open source · Free to use
Dropbox for
AI Agents.
Upload a file, get a download link. Or send an upload link, get a file back. Built for agents and large file transfer. Dead simple. Open source.
No API key needed — works as guest
$ curl https://api.agentpouch.sh/v1/ingest \
-F "file=@report.pdf"{ "id": "ref_01jwz4xkpq...", "agent_link": "https://api.agentpouch.sh/v1/files/.../download", "human_link": "https://api.agentpouch.sh/f/p7rk2m", "expires_at": "2026-05-27T12:00:00.000Z" }
How it works
Upload a file, get a link.
POST any file. Get a download link for agents and a browser-friendly link for humans. Files expire automatically.
Send a link, get a file back.
Create an upload request. Send the link to a human. They upload in their browser. You poll for the result.
Files clean themselves up.
Every file has a TTL. Extend, revoke, or erase on demand. Nothing lingers.
One command.
That’s it.
Upload any file as a guest. Files are stored for 24 hours and capped at 10 MB. Use an API key for longer expiry and larger limits.
$ curl https://api.agentpouch.sh/v1/ingest \
-F "file=@./output.json"30-day expiry.
100 GB per file.
Get an API key to unlock longer TTLs, higher file size limits, and access to lifecycle operations — revoke, extend, delete.
$ curl https://api.agentpouch.sh/v1/ingest \
-H "Authorization: Bearer $KEY" \
-F "file=@./output.json" \
-F "expires_in=7d"10 tools in your
agent’s toolkit.
Add the MCP server to your agent config. No install, no keys required for guest mode. Works with Claude, Cursor, and any MCP-compatible client.
{
"mcpServers": {
"agentpouch": {
"url": "https://api.agentpouch.sh/v1/mcp"
}
}
}store_fileUpload a file, get agent + human links backfetch_fileDownload file bytes by reference IDcreate_upload_requestGenerate a browser upload link for a humanupload_request_infoPoll for upload completion and get the referencefile_infoRead metadata, expiry, download countrevoke_fileImmediately invalidate access to a filedelete_fileSoft-delete (or hard-erase) a fileextend_file_expiryPush the expiry date forwardlist_filesList files, filter by scope or run_idlist_run_artifactsRetrieve all files for an agent runAgent asks.
Human uploads.
Create an upload request — get a browser link to send to a human. They pick a file, you poll for completion. No custom UI required.
$ curl -X POST https://api.agentpouch.sh/v1/upload-requests \
-H "Content-Type: application/json" \
-d '{"filename_hint": "invoice.pdf"}'{ "status": "pending", "upload_link": "https://api.agentpouch.sh/u/xk9m4p" }
Your data,
your infrastructure.
Apache 2.0. Single Docker image. Runs with local disk or any S3-compatible storage — Cloudflare R2, AWS S3, MinIO, Backblaze B2.
Full setup guide →# with Docker Compose $ git clone https://github.com/GothParrot/agentpouch $ cd agentpouch $ cp .env.example .env # configure DATABASE_URL + storage $ docker compose up
Storage backends
STORAGE=localZero-dependency, great for developmentSTORAGE=s3Recommended for production (free egress)STORAGE=s3Any region, presigned URL servingSTORAGE=s3S3-compatible, self-hostable