S3 MCP

v1.0.0File Systemsstable

Enables interaction with AWS S3 buckets to list buckets and objects, retrieve files, and expose PDF documents as resources that can be loaded into the LLM's context.

sample-mcp-server-s3mcpai-integration
Share:
79
Stars
0
Downloads
0
Weekly
0/5

What is S3 MCP?

S3 MCP is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to enables interaction with aws s3 buckets to list buckets and objects, retrieve files, and expose pdf documents as resources that can be loaded into the llm's context.

Enables interaction with AWS S3 buckets to list buckets and objects, retrieve files, and expose PDF documents as resources that can be loaded into the LLM's context.

This server falls under the File Systems and Cloud Services categories on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • Enables interaction with AWS S3 buckets to list buckets and

Use Cases

List AWS S3 buckets and objects, retrieve files.
Expose PDF documents as resources for LLM context.
aws-samples

Maintainer

LicenseMIT-0
Languagepython
Versionv1.0.0
UpdatedApr 25, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx sample-mcp-server-s3

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use S3 MCP

The S3 MCP Server is an AWS sample that exposes your Amazon S3 storage to MCP-compatible AI clients. It provides tools to list all your buckets, enumerate objects inside them, and fetch file contents — with special support for loading PDF documents directly as MCP resources that can be injected into an LLM's context window. This lets AI assistants browse and read your S3 data without requiring custom code or direct AWS SDK calls.

Prerequisites

  • Python 3.10+ and the uv package manager installed
  • AWS account with S3 access and appropriate IAM permissions (s3:ListBuckets, s3:ListObjectsV2, s3:GetObject)
  • AWS credentials configured via AWS CLI (aws configure) or environment variables
  • An MCP-compatible client such as Claude Desktop
1

Clone the repository

Clone the sample repository to your local machine.

git clone https://github.com/aws-samples/sample-mcp-server-s3
cd sample-mcp-server-s3
2

Install dependencies with uv

Use uv to create an isolated environment and install the s3-mcp-server package.

pip install uv
uv sync
3

Configure AWS credentials

Ensure your AWS credentials are available. The server uses the standard AWS credential chain, so either run aws configure or export environment variables.

export AWS_ACCESS_KEY_ID="your-access-key-id"
export AWS_SECRET_ACCESS_KEY="your-secret-access-key"
export AWS_DEFAULT_REGION="us-east-1"
4

Configure Claude Desktop (development mode)

Add the server to Claude Desktop's config file using the local uv run command pointing to your project directory.

5

Verify with MCP Inspector

Use the MCP Inspector tool to confirm the server starts and its tools are accessible before connecting a real client.

npx @modelcontextprotocol/inspector uv --directory /path/to/sample-mcp-server-s3 run s3-mcp-server
6

Use the published package (alternative)

Instead of running from source, you can use the published uvx command which installs and runs the package without cloning.

uvx s3-mcp-server

S3 MCP Examples

Client configuration

Claude Desktop configuration for the S3 MCP server using the local development setup with uv.

{
  "mcpServers": {
    "s3-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/sample-mcp-server-s3",
        "run",
        "s3-mcp-server"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "your-access-key-id",
        "AWS_SECRET_ACCESS_KEY": "your-secret-access-key",
        "AWS_DEFAULT_REGION": "us-east-1"
      }
    }
  }
}

Prompts to try

Ask the AI to browse and retrieve your S3 data using natural language.

- "List all my S3 buckets."
- "Show me the objects in my bucket named 'my-documents'."
- "Retrieve the file 'reports/q1-2025.pdf' from bucket 'company-reports' and summarize it."
- "Find all PDF files in the 'archive' bucket and load the most recent one."

Troubleshooting S3 MCP

Access Denied errors when listing buckets or objects

Check that the IAM user or role has s3:ListBuckets, s3:ListObjectsV2, and s3:GetObject permissions. If using IAM roles, ensure the EC2 instance or Lambda has the correct instance profile attached.

Only PDF files are returned as MCP resources

The current server implementation filters resources to PDF documents only. To expose other file types, modify the resource listing logic in the server source to include additional MIME types.

ListObjectsV2 returns at most 1,000 objects

S3's ListObjectsV2 API returns up to 1,000 keys per call. For buckets with more objects, implement pagination using the ContinuationToken parameter or filter results by prefix when constructing your query.

Frequently Asked Questions about S3 MCP

What is S3 MCP?

S3 MCP is a Model Context Protocol (MCP) server that enables interaction with aws s3 buckets to list buckets and objects, retrieve files, and expose pdf documents as resources that can be loaded into the llm's context. It connects AI assistants to external tools and data sources through a standardized interface.

How do I install S3 MCP?

Follow the installation instructions on the S3 MCP GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with S3 MCP?

S3 MCP works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is S3 MCP free to use?

Yes, S3 MCP is open source and available under the MIT-0 license. You can use it freely in both personal and commercial projects.

Browse More File Systems MCP Servers

Explore all file systems servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "sample-mcp-server-s3": { "command": "npx", "args": ["-y", "sample-mcp-server-s3"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use S3 MCP?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides