AWS (AWS Labs) for object storage
S3 is the object store most applications were built against, and the AWS Labs server reaches it the same way you do from a terminal: by running the AWS CLI. For object storage it is the second of three picks, a strong choice when your buckets live in S3 and you would rather drive them with commands you already know than learn a new tool's vocabulary.
It ranks second rather than first because it is a general AWS interface, not a purpose-built object-storage server. The upside is that the agent can move from a bucket to the IAM policy guarding it to the CloudFront distribution in front of it without leaving one tool. The cost is that object storage is just one of the things it does, not its whole focus.
How AWS (AWS Labs) fits
The work runs through call_aws, which executes one or more `aws s3` or `aws s3api` commands: list objects, copy or read a blob, check versioning, generate a presigned URL, inspect lifecycle and replication rules. When the exact command is uncertain, suggest_aws_commands turns a plain description into candidate invocations. get_execution_plan, experimental and behind a flag, can outline a multi-step storage task. Read-only mode keeps the agent to inspection when you only want it to answer questions about what is stored.
MinIO is the first pick for a reason: it is an S3-compatible engine you can self-host, so if you run your own object store rather than AWS, it speaks the same API on infrastructure you control. Cloudflare fits when your objects live in R2 at the edge. The AWS server wins specifically when the buckets are real S3 and you value driving them through the same CLI that already governs the surrounding AWS resources.
Tools you would use
| Tool | What it does |
|---|---|
| call_aws | Execute one or more AWS CLI commands with validation and error handling. The primary tool when the exact command is known. |
| suggest_aws_commands | Suggest AWS CLI commands from a natural-language description. A fallback for when the exact command is uncertain. |
| get_execution_plan | Produce a step-by-step agent-script workflow for a complex AWS task (experimental, enabled via a flag). |
FAQ
- Can the AWS server generate presigned S3 URLs and manage lifecycle rules?
- Yes, through call_aws, because those are standard AWS CLI operations (`aws s3 presign`, `aws s3api put-bucket-lifecycle-configuration`). The server runs the same commands you would type, with validation, so any S3 operation the CLI supports is reachable.
- Should I use this or MinIO for object storage?
- Use the AWS server when your objects live in S3 and you want CLI-level control across AWS. Use MinIO when you self-host an S3-compatible store and want the server to talk to infrastructure you run rather than to Amazon.