quickS3
Give your AI agent access to S3-compatible storage without handing it your access keys.
What it can do
- List Connections: List the storage connections (S3, R2, Spaces, B2, ...) this access grant can see.
- List Buckets: List the buckets of one storage connection that this access grant can see.
- List Objects: List objects and folders in a bucket, filtered to prefixes this access grant may read. Folders end with "/" and appear as kind "prefix".
What data it sees
Do you need an account
No: the server works without sign-in
Give your AI agent access to S3-compatible storage without handing it your access keys. quickS3 is a hosted MCP server: the agent signs in through your browser, borrows only the roles you pick, and moves files through short-lived links.
π Why use it
- No keys on the machine. OAuth sign-in in your browser. Your storage credentials stay encrypted in quickS3.
- Scoped by roles. Delegate read-only access to one folder, or write access to one bucket. Deny rules always win.
- Files never pass through the chat. Downloads and uploads use short-lived signed links, and bytes go straight to your provider.
- No delete, no silent overwrite. There is no delete, copy, move, or rename tool.
- Audited and revocable. Every agent action is logged. Revoke a grant in one click, and grants expire after 30, 60, or 90 days.
π§° Tools
| Tool | What it does | Needs |
|---|---|---|
list_connections |
Lists the storage connections the grant can use | Read or write |
list_buckets |
Lists the buckets on one connection | Read or write |
list_objects |
Lists one folder level, filtered by your roles | Read |
create_download_link |
Single-use download link, valid 5 minutes | Read |
create_share_link |
Public link for someone without an account, 5 minutes to 30 days | Read |
create_upload_url |
Presigned upload URL, valid 15 minutes, no overwrite by default | Write |
βοΈ Providers
AWS S3, Cloudflare R2, Backblaze B2, DigitalOcean Spaces, Wasabi, MinIO, Azure Blob Storage, and other S3-compatible services.
π Get started
- Create a quickS3 organization at quicks3.com and add a storage connection.
- Add
https://quicks3.com/mcpas a remote MCP server in Claude, ChatGPT, Codex, or any client that supports Streamable HTTP with OAuth. - Approve the agent and pick its roles.
For Claude Code and Codex, the open source quickS3 plugin installs the server and the quicks3-operator skill.
quickS3 is a paid service. Setup guide Β· Security model
How to connect
How to connect quickS3 to Claude
The server address to paste into Claude settings:
https://quicks3--quicks3.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings β Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + β Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings β Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect quickS3 to ChatGPT
The server address to paste into ChatGPT settings:
https://quicks3--quicks3.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings β Apps β Advanced settings β Developer mode.
- Open Settings β Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + β Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors β Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect quickS3 to Cursor
The server address to paste into Cursor settings:
https://quicks3--quicks3.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings β Cursor Settings β MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (6)
Raw names from tools/list. Only developers need these.
| list_connections | List the storage connections (S3, R2, Spaces, B2, ...) this access grant can see. |
| list_buckets | List the buckets of one storage connection that this access grant can see. |
| list_objects | List objects and folders in a bucket, filtered to prefixes this access grant may read. Folders end with "/" and appear as kind "prefix". |
| create_download_link | Create a short-lived download link (valid 5 minutes, single use) for one object. Download the file by following the link, e.g. with `curl -L -o output.bin "<uri>"`. quickS3 never sees or stores the file contents; the link redirects directly to your storage provider. |
| create_share_link | Create a public share link for one object. Anyone who has the link can download the file without a quickS3 account, until it expires. Use this only when the user asks to share a file with someone; to download a file yourself, use create_download_link. The link never outlives this access grant: revoking the grant, or losing read access to the file, disables it. |
| create_upload_url | Create a short-lived presigned upload URL (valid 15 minutes) for one object. Upload the file directly to your storage provider with an HTTP PUT to the returned `url`, sending every header in the returned `headers` (e.g. `curl -H "x-ms-blob-type: BlockBlob" -T localfile "<url>"` for Azure). Uploads fail without those headers. quickS3 never sees or stores the file contents. |