About Mcp Server S3
Mcp Server S3 lets AI assistants manage AWS S3 buckets and objects through MCP. It is for users who need to browse, read, write, or share S3 content, and uses the standard AWS credential chain with support for temporary presigned URLs.
Key features
- 01List buckets and objects
- 02Read text objects
- 03Upload or delete objects
- 04Generate temporary presigned URLs
- 05Check bucket information
Use cases
- 01Inspect files in a bucket
- 02Download configuration text or upload content
- 03Create a temporary sharing link for an object
MCP support
The MCP server exposes tools for managing AWS S3 buckets and objects to compatible clients. It authenticates using environment variables, a shared credentials file, or an IAM role on the host.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
7Saved tool list · updated 3w ago
This tool takes no parameters.
Details
From the project READMEmcp-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/credentialsor 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
| 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:
- Environment variables:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_REGION - Shared credentials file:
~/.aws/credentials - 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.