S3

io.github.ofershapPublished by GitHub account ofershapv1.0.1Updated Oct 24, 2026

AWS S3 MCP — list buckets, browse objects, upload/download, presigned URLs.

VerifiedSTDIODesktop onlyCloud & InfrastructureFiles & Storage

Overview

AI-generated overview

A local MCP server that lets an assistant manage AWS S3: list buckets and objects, read and upload text objects, delete keys, and create presigned URLs.

What you can do
List buckets and inspect whether a bucket exists with basic info, plus list objects in a bucket with an optional prefix filter. Download and read an object's content as text. Upload text content to an S3 object. Delete an object from a bucket. Generate a temporary presigned URL for an object.
When to use it
Useful when you already work with AWS S3 and want to browse buckets, pull a config file, upload text content, or make a temporary sharing link by asking the assistant instead of remembering CLI syntax.
Requirements
Runs locally via npx (Node.js). Needs AWS credentials through the standard chain: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_REGION environment variables, the shared credentials file, or an IAM role. Credentials need S3 permissions such as list, get, put, delete and head bucket.
Before you install
The server acts on your real AWS account with your credentials: put_object writes data and delete_object permanently removes objects. Presigned URLs grant temporary access to anyone holding the link. Credentials are passed via environment variables or the shared credentials file, so keep them out of shared configs. Uploads and reads are limited to text content.

Installation

In SourceWeft

  1. Open S3 in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mcp-server-s3

[npm version] [npm downloads] [CI] [TypeScript] [License: MIT] [Agent Plugins]

Manage AWS S3 buckets and objects from your AI assistant. Browse files, upload and download content, and generate presigned URLs.

bash
npx mcp-server-s3

Works with Claude Desktop, Cursor, VS Code Copilot, and any MCP client. Uses your existing AWS credentials (~/.aws/credentials or environment variables).

[MCP server for AWS S3 bucket management and file operations]

Demo built with remotion-readme-kit

Why

S3 is the most widely used cloud storage service, but managing it from the command line means remembering aws s3 ls, aws s3 cp, presigned URL syntax, and various flags. Google has an official MCP for GCS, Cloudflare has one for R2, but AWS S3 doesn't have a polished standalone MCP server on npm. This one lets you ask your assistant to list buckets, download a config file, upload content, or generate a temporary sharing link. It uses the standard AWS credential chain, so if your CLI already works, this works too.

Tools

ToolWhat it does
list_bucketsList all S3 buckets in your AWS account.
list_objectsList objects in a bucket, with optional prefix filter.
get_objectDownload and read an object's content as text.
put_objectUpload text content to an S3 object.
delete_objectDelete an object from a bucket.
presigned_urlGenerate a temporary presigned URL for an object.
bucket_infoCheck if a bucket exists and get basic info.

Quick Start

Cursor

Add to .cursor/mcp.json:

json
{  "mcpServers": {    "s3": {      "command": "npx",      "args": ["mcp-server-s3"],      "env": {        "AWS_REGION": "us-east-1",        "AWS_ACCESS_KEY_ID": "your-access-key",        "AWS_SECRET_ACCESS_KEY": "your-secret-key"      }    }  }}

Claude Desktop

Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

json
{  "mcpServers": {    "s3": {      "command": "npx",      "args": ["mcp-server-s3"],      "env": {        "AWS_REGION": "us-east-1",        "AWS_ACCESS_KEY_ID": "your-access-key",        "AWS_SECRET_ACCESS_KEY": "your-secret-key"      }    }  }}

VS Code

Configure the MCP server to run npx mcp-server-s3 with AWS_REGION, AWS_ACCESS_KEY_ID, and AWS_SECRET_ACCESS_KEY in the environment.

Authentication

The server uses the standard AWS credential chain:

  1. Environment variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION
  2. Shared credentials file: ~/.aws/credentials
  3. IAM roles: when running on EC2, ECS, Lambda, or similar

Set AWS_REGION (defaults to us-east-1) and make sure your credentials have the necessary S3 permissions: s3:ListBuckets, s3:ListBucket, s3:GetObject, s3:PutObject, s3:DeleteObject, s3:HeadBucket.

Agent Plugins

This repo is an Agent Plugins 1.0.0 package: plugin.json, portable mcp.json, and skills/ ship together with the MCP server.

For Cursor, clone the repo and copy or symlink it to ~/.cursor/plugins/local/mcp-server-s3, then reload the window. Skills and MCP show up under Customize > Plugins.

Agent Plugins v1 does not ship OAuth or AWS SSO wiring. Set AWS_REGION and credentials via env or ~/.aws/credentials in the MCP client host. One-click install is not offered because secrets stay in env.

FAQ

What is mcp-server-s3?

An MCP server for S3: list buckets and objects, read/upload text objects, delete keys, presigned URLs, and bucket checks.

How does authentication work?

Standard AWS credential chain: env vars, shared credentials file, or IAM role on the machine running the MCP server.

Which env vars should I set in MCP config?

At minimum AWS_REGION. Often AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY unless you rely on ~/.aws/credentials or a role.

Can I install it as an Agent Plugin in Cursor?

Yes, via ~/.cursor/plugins/local/mcp-server-s3. Ensure the Cursor process can read the same AWS credentials as your CLI.

Why no one-click Cursor button?

AWS keys cannot be embedded in a portable install link. Use the JSON under Quick Start.

Example prompts

  • "List all my S3 buckets"
  • "Show me the files in my-bucket/uploads/"
  • "Download the config.json from my-bucket"
  • "Upload this content to my-bucket/notes.txt"
  • "Generate a presigned URL for this file that expires in 1 hour"

Development

bash
npm installnpm run typechecknpm run buildnpm testnpm run formatnpm run lint

See also

More MCP servers and developer tools on my portfolio.

Author

[Made by ofershap]

[LinkedIn] [GitHub]


README built with README Builder

License

MIT © 2026 Ofer Shapira

Source: README.md at commit f16b371

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts