cloud-infrastructurefile-systems

AWS S3

samuraikun

by samuraikun

Access AWS S3 storage to list buckets, browse objects, and extract text from files like PDFs with ease.

Provides direct access to Amazon S3 storage for listing buckets, browsing objects, and retrieving file contents with automatic text extraction from PDFs and other file types.

github stars

22

0 commentsdiscussion

Both formats append explainx.ai attribution and the canonical URL for this MCP server listing.

Automatic PDF text extractionMultiple transport options (STDIO, HTTP)Docker deployment support

best for

  • / Developers working with S3 data storage
  • / Analyzing documents stored in S3
  • / Content management and file retrieval
  • / Cloud storage integration projects

capabilities

  • / List S3 buckets with filtering
  • / Browse objects within buckets
  • / Retrieve file contents from S3 objects
  • / Extract text from PDFs and documents
  • / Filter objects by prefix
  • / Handle both text and binary files

what it does

Connects to Amazon S3 buckets to list, browse, and retrieve file contents with automatic text extraction from PDFs and other document types.

about

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.

how to install

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.

license

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.

readme

S3 MCP Server

CI Trivy Scan npm version npm downloads License: MIT Node.js Version

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

Features

🚀 MCP Transport Support

  • STDIO Transport - Direct process communication for Claude Desktop
  • HTTP Transport - REST API with Server-Sent Events for web clients
  • Streamable HTTP - Real-time streaming for responsive interactions

🛠️ Available Tools

  • list-buckets - List accessible S3 buckets with filtering
  • list-objects - Browse objects within buckets with prefix filtering
  • get-object - Retrieve object contents (text/binary support)

🐳 Deployment Options

  • Local Node.js - Direct execution with npm/node
  • Docker CLI - Containerized deployment with custom configuration
  • Docker Compose - Full stack with MinIO for local testing
  • MCP Inspector - Built-in debugging and testing interface

Overview

This MCP server allows Large Language Models (LLMs) like Claude to interact with AWS S3 storage. It provides tools for:

  • Listing available S3 buckets
  • Listing objects within a bucket
  • Retrieving object contents

The server is built using TypeScript and the MCP SDK, providing a secure and standardized way for LLMs to interface with S3.

Installation

Prerequisites

  • Node.js 18 or higher
  • npm or yarn
  • AWS credentials configured (either through environment variables or AWS credentials file)
  • Docker (optional, for containerized setup)

Setup

  1. Install via npm:
# Install globally via npm
npm install -g aws-s3-mcp

# Or as a dependency in your project
npm install aws-s3-mcp
  1. If building from source:
# 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
  1. Configure AWS credentials and S3 access:

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.

Configuration

The server can be configured using the following environment variables:

VariableDescriptionDefault
AWS_REGIONAWS region where your S3 buckets are locatedus-east-1
S3_BUCKETSComma-separated list of allowed S3 bucket names(empty)
S3_MAX_BUCKETSMaximum number of buckets to return in listing5
AWS_ACCESS_KEY_IDAWS access key (if not using default credentials)(from AWS config)
AWS_SECRET_ACCESS_KEYAWS secret key (if not using default credentials)(from AWS config)

Running the Server

Direct Node.js Execution

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:

  • Health check endpoint: http://localhost:3000/health
  • MCP endpoint: http://localhost:3000/mcp
  • SSE endpoint: http://localhost:3000/sse

Docker Setup 🐳

You can run the S3 MCP server as a Docker container using either Docker CLI or Docker Compose.

Using Docker CLI

  1. Build the Docker image:
docker build -t aws-s3-mcp .
  1. Run the container with environment variables:
# 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
  1. Check container logs:
docker logs aws-s3-mcp-server
  1. Stop and remove the container:
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.

Using Docker Compose

  1. Build and start the Docker container:
# Build and start the container
docker compose up -d s3-mcp

# View logs
docker compose logs -f s3-mcp
  1. To stop the container:
docker compose down

Using Docker with MinIO for Testing

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.

Debugging with MCP Inspector 🔍

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.

Quick Start

# 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

Transport Types

The server supports two transport protocols:

HTTP Transport

  • Best for: Web-based debugging, external client connections
  • Provides: REST API endpoints, Server-Sent Events (SSE)
  • Ports: 3000 (HTTP), 3001+ (Inspector UI)

STDIO Transport

  • Best for: Direct process communication, Claude Desktop integration
  • Provides: Standard input/output communication
  • Ports: None (direct process communication)

Usage Examples

1. Local Development (HTTP)

# Default: HTTP transport for local debugging
./run-inspector.sh

# Explicit HTTP transport
./run-inspector.sh --http

This will:

  • Build the project if needed
  • Start the MCP server with HTTP transport on port 3000
  • Launch MCP Inspector in your browser
  • Provide endpoints:
    • Health check: http://localhost:3000/health
    • MCP endpoint: http://localhost:3000/mcp
    • SSE endpoint: http://localhost:3000/sse

2. Local Development (STDIO)

# STDIO transport for local debugging
./run-inspector.sh --stdio

This mode directly connects the MCP Inspector to the server process using standard input/output.

3. Docker with Real AWS (STDIO)

# 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:

  • Build the Docker image if needed
  • Start a container with your AWS credentials
  • Connect MCP Inspector via Docker exec

4. Docker with Real AWS (HTTP)

# Run with Docker using HTTP transport
./run-inspector.sh --docker --http

This will:

  • Start a containerized HTTP server on port 3000
  • Connect MCP Inspector to the HTTP endpoint
  • Useful for testing HTTP-based integrations

5. Docker Compose with MinIO (Testing)

# Run with MinIO for local testing (no AWS credentials needed)
./run-inspector.sh --docker-compose

This will:

  • Start MinIO S3-compatible storage
  • Create test buckets: test-bucket-1, test-bucket-2
  • Upload sample files for testing
  • Start the S3 MCP server connected to MinIO
  • Launch MCP Inspector
  • Provide MinIO Web UI at http://localhost:9001 (login: minioadmin/minioadmin)

Advanced Options

Force Rebuild

# Force Docker image rebuild
./run-inspector.sh --docker --force-rebuild
./run-inspector.sh --docker-compose --force-rebuild

Debugging Tips

  1. Check container logs:

    # For Docker CLI mode
    docker logs aws-s3-mcp-server
    
    # For Docker Compose mode
    docker compose logs s3-mcp
    
  2. Test endpoints manually:

    # Health check
    curl http://localhost:3000/health
    
    # MinIO health (Docker Compose)
    curl http://localhost:9000/minio/health/live
    
  3. Access MinIO Web UI (Docker Compose only):

    • URL: http://localhost:9001
    • Username: minioadmin
    • Password: minioadmin

Cleanup

# 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

---

FAQ

What is the AWS S3 MCP server?
AWS S3 is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
How do MCP servers relate to agent skills?
Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
How are reviews shown for AWS S3?
This profile displays 26 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.7 out of 5—verify behavior in your own environment before production use.

Use Cases

Code & Document Analysis

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

Automated File Operations

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

Content Search & Extraction

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

File Generation & Templates

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

Implementation Guide

Prerequisites

  • Claude Desktop or Cursor with MCP support
  • File system permissions for directories you want to access
  • Understanding of file paths and directory structure
  • Backup of important files before bulk operations

Time Estimate

10-20 minutes including configuration

Installation Steps

  1. 1.Install filesystem MCP server (often built-in with Claude Desktop)
  2. 2.Configure allowed directories in MCP config for security
  3. 3.Test read: 'Show me contents of ~/Documents/test.txt'
  4. 4.Test write: 'Create a new file notes.md in current directory'
  5. 5.Test search: 'Find all .js files containing TODO'
  6. 6.Test batch operations: 'Rename all .jpeg files to .jpg'
  7. 7.Verify file permissions and access controls

Troubleshooting

  • Permission denied: Check file/directory permissions, run with appropriate user
  • Path not found: Verify path is absolute or relative to working directory
  • MCP server can't access directory: Add to allowed directories in config
  • File already exists: Use overwrite flag or check before writing
  • Operation failed: Check disk space, file locks, antivirus interference

Best Practices

✓ Do

  • +Configure allowed directories explicitly—don't grant full filesystem access
  • +Back up important files before bulk operations
  • +Use dry-run mode for risky operations when available
  • +Validate file paths before operations
  • +Set appropriate file permissions on created files
  • +Log file operations for audit trail
  • +Test operations on sample files first

✗ Don't

  • Don't grant MCP access to system directories (/etc, /System)
  • Don't allow write access to production config files
  • Don't skip backup before bulk delete/move operations
  • Don't use for sensitive files (passwords, keys) without encryption
  • Don't ignore file permission errors—investigate root cause
  • Don't expose personal documents without considering privacy

💡 Pro Tips

  • Use .gitignore patterns to exclude sensitive files from AI access
  • Create sandboxed working directory for file experiments
  • Combine with version control (git) for easy rollback
  • Use file watching for real-time monitoring and reactions
  • Create templates for common file generation tasks
  • Leverage file metadata (timestamps, size) for smart organization

Technical Details

Architecture

MCP server provides file I/O operations (read, write, search, metadata) as tools Claude can invoke with natural language instructions.

Protocols

  • Local file system API
  • Glob patterns for search
  • File streams for large files

Compatibility

  • macOS
  • Linux
  • Windows
  • Local files only (no remote filesystems by default)

When to Use This

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

Integration

  • Combine with git for version-controlled file operations
  • Integrate with code editors for seamless workflow
  • Use with backup tools for safety net
  • Pair with file watchers for automated reactions

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.

List & Promote Your MCP Server

Share your MCP server with the developer community

GET_STARTED →
MCP server reviews

Ratings

4.726 reviews
  • Meera Okafor· Dec 24, 2024

    AWS S3 is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.

  • Neel Khan· Nov 23, 2024

    AWS S3 has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Diego Chawla· Nov 15, 2024

    According to our notes, AWS S3 benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.

  • Neel Martinez· Oct 14, 2024

    According to our notes, AWS S3 benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.

  • Valentina Mensah· Oct 6, 2024

    AWS S3 has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Mia Sanchez· Sep 25, 2024

    AWS S3 is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.

  • Sakshi Patil· Sep 13, 2024

    We wired AWS S3 into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.

  • Lucas Sanchez· Aug 16, 2024

    We wired AWS S3 into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.

  • Chaitanya Patil· Aug 4, 2024

    AWS S3 is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.

  • Piyush G· Jul 23, 2024

    Useful MCP listing: AWS S3 is the kind of server we cite when onboarding engineers to host + tool permissions.

showing 1-10 of 26

1 / 3