MCP S3 File Uploader
Provides secure file upload functionality to Amazon S3 with progress tracking, automatic UUID-based naming, and presigned URL generation for time-limited access to uploaded files
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP S3 File UploaderUpload my config.json file to S3"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP S3 File Manager
S3 file operations for AI workflows - Upload, download, and manage files in Amazon S3 through Model Context Protocol (MCP).
Perfect for AI assistants like Claude, Cursor, and any MCP-compatible client.
⚡ Quick Start
# Install and run (requires AWS credentials)
uvx mcp-s3 --root ~/uploads
# Or install globally
pip install mcp-s3Related MCP server: Supabase Storage MCP
🔧 Setup
1. AWS Credentials
Create .env file in your project:
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_DEFAULT_REGION=us-east-1
S3_BUCKET_NAME=your-bucket-name2. Add to Your AI Tool
Cursor IDE - Add to settings.json:
{
"mcp": {
"servers": {
"s3": {
"command": "uvx",
"args": ["mcp-s3", "--root", "~/uploads"],
"env": {
"AWS_ACCESS_KEY_ID": "your_key",
"AWS_SECRET_ACCESS_KEY": "your_secret",
"S3_BUCKET_NAME": "your-bucket"
}
}
}
}
}Claude Desktop - Add to config:
{
"mcpServers": {
"s3": {
"command": "mcp-s3",
"args": ["--root", "~/uploads"],
"env": {
"AWS_ACCESS_KEY_ID": "your_key",
"AWS_SECRET_ACCESS_KEY": "your_secret",
"S3_BUCKET_NAME": "your-bucket"
}
}
}
}🛠️ What You Can Do
Upload Files
@mcp Upload my config.json file to S3
@mcp Upload the backup.zip with 2-hour expiration
@mcp Upload report.pdf with force overwrite enabledPreserves original filenames (
config.json→config.json)Prevents accidental overwrites (fails if file exists)
Force overwrite option for intentional replacements
Progress tracking for large files
Download Files
@mcp Download config.json from S3 to ./downloads/
@mcp Download backup-2024.zip from S3List Files
@mcp List all files in S3
@mcp List files starting with "logs/"
@mcp Show me the first 50 files in the bucketGet File Info
@mcp Get info about config.json in S3
@mcp Show details for backup.zip🚀 For Software Engineers
Common Workflows
1. Backup & Share Code
# Upload project files
@mcp Upload my entire src/ directory to S3
@mcp Generate a 7-day URL for team-config.json2. CI/CD Integration
# In your deployment scripts
mcp-s3 --root ./build upload dist.tar.gz3. Log Management
# Upload application logs
@mcp Upload today's error.log to S3
@mcp List all log files from this month4. Asset Management
# Manage project assets
@mcp Upload design-assets.zip
@mcp Download latest-assets.zip to ./assets/Development Setup
git clone https://github.com/dayongd1/mcp-s3.git
cd mcp-s3
uv sync
uv run mcp-s3 --root ~/test-uploadsTesting
# Test basic functionality
python examples/test_mcp_server.py
# Test naming conflicts
python examples/test_naming_conflicts.py
# Test all features
python examples/test_download.py
python examples/test_list_files.py
python examples/test_get_file_info.py🔒 Security Notes
Path Safety: Prevents directory traversal attacks
Credential Management: Uses environment variables (never hardcode keys)
Presigned URLs: Time-limited access (default 24 hours)
Conflict Detection: Prevents accidental file overwrites
📦 Installation Options
# Run without installing (recommended)
uvx mcp-s3
# Install globally
pip install mcp-s3
# Development install
git clone && uv sync🚨 Troubleshooting
"Bucket not found"
# Check your bucket name and region
aws s3 ls s3://your-bucket-name"Access denied"
# Verify AWS credentials
python examples/test_aws_connection.py"File already exists"
# Use force overwrite or rename the file
@mcp Upload config.json with force overwrite enabled📚 Links
MCP Docs: https://modelcontextprotocol.io/
AWS S3 Setup: See
AWS_SETUP_GUIDE.md
Built with FastMCP | Python 3.10+ | MIT License
This server cannot be deployed
Maintenance
Related MCP Connectors
Browse, upload, download, and share files in your S3-compatible buckets with delegated roles.
Capture photos remotely from mobile devices via S3-backed upload URLs
File uploads for AI agents. Upload, list, and manage files. No signup required.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides secure access to AWS S3 buckets through pre-signed URLs, enabling listing, downloading, uploading, and deleting objects.2-
- AlicenseBqualityDmaintenanceEnables secure file and bucket management operations with Supabase Storage through enterprise-grade security features, batch uploads/downloads, and comprehensive file management capabilities. Supports both local file paths and base64 data with advanced transformations and auto-download functionality.10MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with AWS S3 storage through bucket operations (create, delete, list), object management (upload, download, delete, list), and bucket policy configuration using AWS credentials.6 npm2MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables users to upload local files to S3-compatible storage and retrieve shareable public URLs. Files are automatically organized into unique UUID-based folders to prevent naming conflicts while preserving original filenames.5 npmMIT