S3 MCP Server
A Model Context Protocol (MCP) server for AWS S3 integration using FastMCP and boto3. This server provides access to S3 functionality through MCP-compatible tools.
Features
Bucket Management
list_buckets
- Lists all S3 buckets in the AWS account.
Object Management
put_object
- Puts an object into an S3 bucket.get_object
- Gets an object from an S3 bucket.delete_object
- Deletes an object from an S3 bucket.list_objects_v2
- Lists objects in an S3 bucket.head_object
- Retrieves metadata from an object without returning the object itself.upload_file
- Uploads a file to an S3 object.download_file
- Downloads an object from an S3 bucket to a file.copy_object
- Copies an object from one S3 location to another.delete_objects
- Deletes multiple objects from an S3 bucket.
Installation
Prerequisites
Python 3.10 or higher
uv package manager
AWS account with S3 access configured
Quick Start
Clone the repository:
git clone https://github.com/konstantinasm/s3-mcp.git cd s3-mcpInstall dependencies:
uv syncConfigure environment variables:
cp config/.env.example .env # Edit .env with your AWS credentials and S3 bucket detailsTest the installation:
uv run python scripts/test_server.py
Configuration
Required Environment Variables
AWS_ACCESS_KEY_ID
- Your AWS Access Key IDAWS_SECRET_ACCESS_KEY
- Your AWS Secret Access Key
Usage
Running the Server
With startup script (recommended):
Direct execution:
Testing
Run test suite:
Example Tool Calls
List all S3 buckets:
MCP Integration
This server is designed to work with MCP-compatible clients. See MCP_SETUP.md for detailed integration instructions.
Docker Support
Using Docker Compose
Configure environment:
cp config/.env.example .env # Edit .env with your settingsRun with Docker Compose:
docker compose up -d
Building Docker Image
Development
Project Structure
Contributing
Contributions are welcome! If you have ideas, improvements, or bug fixes — feel free to submit a pull request.
How to Contribute:
Fork the repository.
Create a new branch for your changes.
Make your changes with clear, clean commits.
Open a pull request with a clear description of what you’ve done.
Please follow existing code style and keep commits focused. Questions or suggestions? Open an issue.
Running Tests
Troubleshooting
Common Issues
Permission Denied:
Verify AWS credentials have sufficient S3 permissions.
Check if read-only mode is enabled.
Tool Not Found:
Ensure all dependencies are installed:
uv sync
.Verify Python version compatibility (3.10+).
Debug Mode
Set environment variable for detailed logging:
Dependencies
FastMCP - MCP server framework
boto3 - AWS SDK for Python
python-dotenv - Loads environment variables from a .env file
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
AWS S3 for cloud storage
Model Context Protocol for the integration standard
FastMCP for the server framework
Tools
A Model Context Protocol (MCP) server for AWS S3 integration using FastMCP and boto3. This server provides access to S3 functionality through MCP-compatible tools.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that facilitates communication between ABAP systems and MCP clients, providing tools for managing ABAP objects, handling transport requests, and performing code analysis to enhance ABAP development workflows.Last updated -56MIT License
- AsecurityFlicenseAqualityAn MCP server that provides tools for interacting with AWS S3 buckets, enabling direct access to S3 operations through the Model Context Protocol.Last updated -1
- AsecurityAlicenseAqualityA Model Context Protocol server that provides seamless access to multiple storage services including S3, Azure Blob Storage, and Google Cloud Storage through Apache OpenDAL™.Last updated -333Apache 2.0
- AsecurityAlicenseAqualityAn Amazon S3 Model Context Protocol server that allows Large Language Models like Claude to interact with AWS S3 storage, providing tools for listing buckets, listing objects, and retrieving object contents.Last updated -32314MIT License