MCP server
by samuraikun
Access AWS S3 storage to list buckets, browse objects, and extract text from files like PDFs with ease.
Connects to Amazon S3 buckets to list, browse, and retrieve file contents with automatic text extraction from PDFs and other document types.
AWS S3 is a community-built MCP server published by samuraikun that provides AI assistants with tools and capabilities via the Model Context Protocol. Access AWS S3 storage to list buckets, browse objects, and extract text from files like PDFs with ease. It is categorized under cloud infrastructure, file systems.
You can install AWS S3 in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MIT
AWS S3 is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Read, analyze, and understand files in your project
Example
Summarize README, analyze code structure, find TODO comments across codebase
Navigate large codebases 5x faster, understand projects quickly
Create, move, rename, and organize files based on natural language instructions
Example
Organize downloads by file type, rename files following convention, batch process images
Save hours on manual file organization
Search files for patterns, extract data, find information across directories
Example
Find all config files with API keys, extract emails from documents, search logs for errors
Find information instantly instead of manual grep/find
Share your MCP server with the developer community
AWS S3 is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
AWS S3 has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
According to our notes, AWS S3 benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
According to our notes, AWS S3 benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
AWS S3 has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
AWS S3 is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
We wired AWS S3 into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
We wired AWS S3 into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
AWS S3 is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Useful MCP listing: AWS S3 is the kind of server we cite when onboarding engineers to host + tool permissions.
showing 1-10 of 26
An Amazon S3 Model Context Protocol (MCP) server that provides tools for interacting with S3 buckets and objects.
https://github.com/user-attachments/assets/d05ff0f1-e2bf-43b9-8d0c-82605abfb666
This MCP server allows Large Language Models (LLMs) like Claude to interact with AWS S3 storage. It provides tools for:
The server is built using TypeScript and the MCP SDK, providing a secure and standardized way for LLMs to interface with S3.
# Install globally via npm
npm install -g aws-s3-mcp
# Or as a dependency in your project
npm install aws-s3-mcp
# Clone the repository
git clone https://github.com/samuraikun/aws-s3-mcp.git
cd aws-s3-mcp
# Install dependencies and build
npm install
npm run build
Create a .env file with your AWS configuration:
AWS_REGION=us-east-1
S3_BUCKETS=bucket1,bucket2,bucket3
S3_MAX_BUCKETS=5
AWS_ACCESS_KEY_ID=your-access-key
AWS_SECRET_ACCESS_KEY=your-secret-key
Or set these as environment variables.
The server can be configured using the following environment variables:
| Variable | Description | Default |
|---|---|---|
AWS_REGION | AWS region where your S3 buckets are located | us-east-1 |
S3_BUCKETS | Comma-separated list of allowed S3 bucket names | (empty) |
S3_MAX_BUCKETS | Maximum number of buckets to return in listing | 5 |
AWS_ACCESS_KEY_ID | AWS access key (if not using default credentials) | (from AWS config) |
AWS_SECRET_ACCESS_KEY | AWS secret key (if not using default credentials) | (from AWS config) |
The server runs with HTTP transport by default, making it easy to test and debug:
# Using npx (HTTP transport by default)
npx aws-s3-mcp
# If installed globally (HTTP transport)
npm install -g aws-s3-mcp
aws-s3-mcp
# If running from cloned repository (HTTP transport)
npm start
# Or directly (HTTP transport)
node dist/index.js
# Explicit HTTP transport
node dist/index.js --http
# STDIO transport (for Claude Desktop integration)
node dist/index.js --stdio
When running with HTTP transport (default), the server will start on port 3000 and provide:
http://localhost:3000/healthhttp://localhost:3000/mcphttp://localhost:3000/sseYou can run the S3 MCP server as a Docker container using either Docker CLI or Docker Compose.
docker build -t aws-s3-mcp .
# Option 1: Pass environment variables directly
docker run -d \
-e AWS_REGION=us-east-1 \
-e S3_BUCKETS=bucket1,bucket2 \
-e S3_MAX_BUCKETS=5 \
-e AWS_ACCESS_KEY_ID=your-access-key \
-e AWS_SECRET_ACCESS_KEY=your-secret-key \
--name aws-s3-mcp-server \
aws-s3-mcp
# Option 2: Use environment variables from .env file
docker run -d \
--env-file .env \
--name aws-s3-mcp-server \
aws-s3-mcp
docker logs aws-s3-mcp-server
docker stop aws-s3-mcp-server
docker rm aws-s3-mcp-server
Note: For HTTP transport (default), add -p 3000:3000 to expose the HTTP port. For STDIO transport (Claude Desktop), no port mapping is needed as it uses Docker exec for direct communication.
# Build and start the container
docker compose up -d s3-mcp
# View logs
docker compose logs -f s3-mcp
docker compose down
The Docker Compose setup includes a MinIO service for local testing:
# Start MinIO and the MCP server
docker compose up -d
# Access MinIO console at http://localhost:9001
# Default credentials: minioadmin/minioadmin
The MinIO service automatically creates two test buckets (test-bucket-1 and test-bucket-2) and uploads sample files for testing.
The run-inspector.sh script provides an easy way to test and debug the S3 MCP server using the MCP Inspector. It supports multiple transport types and deployment modes.
# Show all available options
./run-inspector.sh --help
# Run locally with HTTP transport (default)
./run-inspector.sh
# Run with Docker Compose and MinIO for testing
./run-inspector.sh --docker-compose
The server supports two transport protocols:
# Default: HTTP transport for local debugging
./run-inspector.sh
# Explicit HTTP transport
./run-inspector.sh --http
This will:
http://localhost:3000/healthhttp://localhost:3000/mcphttp://localhost:3000/sse# STDIO transport for local debugging
./run-inspector.sh --stdio
This mode directly connects the MCP Inspector to the server process using standard input/output.
# Create .env file with your AWS credentials
cp .env.example .env
# Edit .env with your AWS credentials
# Run with Docker using STDIO transport (default for Docker)
./run-inspector.sh --docker
This will:
# Run with Docker using HTTP transport
./run-inspector.sh --docker --http
This will:
# Run with MinIO for local testing (no AWS credentials needed)
./run-inspector.sh --docker-compose
This will:
test-bucket-1, test-bucket-2http://localhost:9001 (login: minioadmin/minioadmin)# Force Docker image rebuild
./run-inspector.sh --docker --force-rebuild
./run-inspector.sh --docker-compose --force-rebuild
Check container logs:
# For Docker CLI mode
docker logs aws-s3-mcp-server
# For Docker Compose mode
docker compose logs s3-mcp
Test endpoints manually:
# Health check
curl http://localhost:3000/health
# MinIO health (Docker Compose)
curl http://localhost:9000/minio/health/live
Access MinIO Web UI (Docker Compose only):
http://localhost:9001minioadminminioadmin# Stop and remove Docker containers
docker stop aws-s3-mcp-server && docker rm aws-s3-mcp-server
# Stop Docker Compose services
docker compose down
# St
---
Generate boilerplate files, apply templates, create project structures
Example
Create React component with tests and styles, generate OpenAPI spec, scaffold new project
Eliminate repetitive file creation work
Prerequisites
Time Estimate
10-20 minutes including configuration
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
MCP server provides file I/O operations (read, write, search, metadata) as tools Claude can invoke with natural language instructions.
Protocols
Compatibility
✓ Use when
Use for code analysis, file organization, content search, template generation, and automating repetitive file operations. Best for local development workflows.
✗ Avoid when
Avoid for system-critical files, sensitive credentials, production environments, or when file integrity is paramount. Don't use on files you can't afford to lose.