io.github.ofershap/s3

Official registry Cloud and DevOps

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package mcp-server-s3
Claude Code
claude mcp add s3 -- npx -y mcp-server-s3@1.0.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "s3": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-server-s3@1.0.1"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. mcp-server-s3
  2. Why
  3. Tools
  4. Quick Start
  5. Authentication
  6. Agent Plugins
  7. FAQ
  8. Example prompts
  9. Development
  10. See also
  11. Author
  12. License

mcp-server-s3

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

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).

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:

{
  "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):

{
  "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

npm install
npm run typecheck
npm run build
npm test
npm run format
npm run lint

See also

More MCP servers and developer tools on my portfolio.

Author


README built with README Builder

License

MIT © 2026 Ofer Shapira

Frequently asked questions

What is io.github.ofershap/s3?

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

How do I install io.github.ofershap/s3?

It runs on your machine. In Claude Code: claude mcp add s3 -- npx -y mcp-server-s3@1.0.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.ofershap/s3 need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.ofershap/s3 open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.ofershap/s3?

It is published by ofershap. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.