---
title: "Connect Codex to your S3 buckets with quickS3"
description: "Install the quickS3 plugin in Codex, choose which roles it may use, and let your AI agent browse, upload, and download files in your S3 buckets."
image: "/blog-images/codex-mcp-quicks3.jpg"
publishDate: 2026-09-12
tags: ["AI Agents", "MCP", "Codex", "Getting Started"]
draft: false
---

quickS3 is also a [remote S3 MCP server](/s3-mcp-server/), so Codex can work with the files in your S3-compatible buckets: list folders, pull a file down, or upload something it just built. It only gets the quickS3 roles you pick when you approve it. File contents travel directly between Codex and your storage provider, and quickS3 never sees them.

This guide walks through the setup in the ChatGPT desktop app, where Codex runs in **Work** mode. If you prefer the terminal, the two CLI commands are at the end.

## Before you start

You need:

- A quickS3 organization with at least one storage connection. If you don't have one yet, follow the guide for your provider, e.g. [AWS S3](/blog/getting-started-aws-s3/) or [Cloudflare R2](/blog/configuring-cloudflare-r2/).
- A role for the agent. Codex can do exactly what the role allows and nothing more, so a dedicated role is the easy way to keep it narrow. In this guide we use a role called **AI Agent** that can read and write two buckets.

## Step 1: Add the quickS3 marketplace

Codex installs plugins from marketplaces. The quickS3 one lives on GitHub.

1. Open **Plugins** in the sidebar.
2. Click **Add** in the top right corner and choose **Add a marketplace**.

![The Codex Plugins page with the Add menu open and "Add a marketplace" highlighted](/blog-images/codex-mcp/1-add-marketplace-menu.png)

3. In **Source**, enter `QuickS3-com/skill`. Leave **Git ref** and **Sparse paths** empty.
4. Click **Add marketplace**.

![The "Add plugin marketplace" dialog with QuickS3-com/skill as the source](/blog-images/codex-mcp/2-add-plugin-marketplace.png)

## Step 2: Install the plugin

1. Back on the Plugins page, switch to the **Personal** tab.
2. Under **QuickS3**, click **+** next to the QuickS3 plugin.

![The Personal tab listing the QuickS3 plugin with its install button](/blog-images/codex-mcp/3-install-quicks3-plugin.png)

The plugin bundles two things: the quickS3 MCP server at `https://quicks3.com/mcp`, and a skill that teaches Codex to list folders narrowly, download through single-use links, and upload without overwriting existing files.

## Step 3: Authorize Codex in quickS3

Codex opens your browser on the quickS3 consent page. Sign in if you need to. The page shows:

- **Client**: the name Codex reports, and the local address it returns to once you approve.
- **Organization**: each client connection covers one organization. To connect a different one, switch organization from the menu at the top first.
- **Roles to delegate**: tick the roles Codex may use. Only your own roles are listed.
- **Access lifetime**: 30, 60, or 90 days. The grant expires on its own after that.

Pick the role and lifetime, then click **Authorize Codex**.

![The quickS3 "Connect an AI client" page asking to authorize Codex with the AI Agent role for 30 days](/blog-images/codex-mcp/4-authorize-codex.png)

## Step 4: Ask Codex about your files

Start a new task in **Work** mode. Type `@`, pick **QuickS3**, and ask something simple:

> List the folders I can access in QuickS3.

![A Codex prompt mentioning the QuickS3 plugin: "List the folders I can access in QuickS3."](/blog-images/codex-mcp/5-ask-codex.png)

Codex lists your connections, then the buckets and top-level folders the role can see:

![Codex listing the accessible folders across two storage connections](/blog-images/codex-mcp/6-codex-answer.png)

From there, try real work:

- "Download the latest invoice PDF from the `public` bucket and summarize it."
- "Upload `dist/site.zip` to the `upload/` folder."
- "What changed in the `reports/` folder this week?"

## What the agent can do

The quickS3 MCP server exposes six tools:

| Tool | What it does |
|------|--------------|
| `list_connections` | Lists the storage connections the grant can see |
| `list_buckets` | Lists visible buckets on one connection |
| `list_objects` | Lists one folder level, paginated |
| `create_download_link` | Creates a single-use download link, valid 5 minutes |
| `create_share_link` | Creates a public share link for someone else, valid 5 minutes to 30 days |
| `create_upload_url` | Creates a presigned upload URL, valid 15 minutes, no overwrite by default |

There's no delete tool, and every call is checked against the roles you delegated, with the same deny-wins rules your teammates get.

## Prefer the terminal?

With the Codex CLI, add the marketplace and install the plugin:

```bash
codex plugin marketplace add https://github.com/QuickS3-com/skill.git
```

```bash
codex plugin add quicks3@quicks3
```

Codex then opens the same quickS3 consent page as in Step 3.

## Review or revoke access

Every approval is listed on the **AI agents** tab in quickS3, and at the bottom of the consent page, with its status and expiry date. Click **Revoke** to cut an agent off right away. Agent actions show up in the audit log separately from your teammates' activity, and agents don't count as users on your plan.

---

Using Claude Code too? See [Connect Claude Code to your S3 buckets with quickS3](/blog/connect-claude-code-to-s3-with-quicks3/). New to quickS3? [Sign up](/app/) and connect your first bucket.

For maintained setup and troubleshooting, use the [Codex documentation](/docs/agents/codex/).
