Fetching documents for retrieval, persisting outputs, moving files mid-task — all of it lands in S3, and each one otherwise needs custom glue. The whole surface is here including the policy calls, and the listing tools can be put on autoApprove so read-only use runs without prompts.
An MCP server over the AWS S3 API. Buckets are listed, created and deleted; objects are listed with a prefix filter, uploaded from a file or a string, downloaded and deleted; bucket policies are read and set. It uses whatever AWS credentials the environment already provides.
- Every bucket in the account listed
- A bucket created, and an empty bucket deleted
- Objects in a bucket listed, with an optional prefix filter
- A file or a string uploaded as an object
- An object downloaded, and an object deleted
- A bucket policy read and set
Node.js 18+ and an AWS account with S3 access. Credentials come from AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY alongside AWS_REGION, from an IAM role, or from an existing aws configure profile with only AWS_REGION set. The client runs it with npx @gangadharrr/aws-s3.
One command plus a key — npx @gangadharrr/aws-s3, then supply credentials
