MCP Server S3 MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add mcp-server-s3 -- npx mcp-server-s3
README.md

Manage AWS S3 buckets and objects from your AI assistant.

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

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

Tool What it does
list_buckets List all S3 buckets in your AWS account.
list_objects List objects in a bucket, with optional prefix filter.
get_object Download and read an object's content as text.
put_object Upload text content to an S3 object.
delete_object Delete an object from a bucket.
presigned_url Generate a temporary presigned URL for an object.
bucket_info Check 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.

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

Tools (7)

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.

Environment Variables

AWS_ACCESS_KEY_IDAWS access key for authentication
AWS_SECRET_ACCESS_KEYAWS secret key for authentication
AWS_REGIONAWS region (defaults to us-east-1)

Configuration

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

Try it

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

Frequently Asked Questions

What are the key features of MCP Server S3?

List and manage S3 buckets. Browse and filter objects within buckets. Read and download object content as text. Upload text content to S3 objects. Generate temporary presigned URLs for secure file sharing.

What can I use MCP Server S3 for?

Quickly auditing bucket contents without using the AWS CLI. Downloading configuration files directly into the AI context. Uploading generated notes or logs to S3 storage. Creating temporary access links for files to share with team members.

How do I install MCP Server S3?

Install MCP Server S3 by running: npx mcp-server-s3

What MCP clients work with MCP Server S3?

MCP Server S3 works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep MCP Server S3 docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare