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:
- Install dependencies:
- Configure environment variables:
- Test the installation:
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:
- Run with Docker Compose:
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
This server cannot be installed
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 -12835TypeScriptMIT 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 -1Python
- 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 -331PythonApache 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 -357311TypeScriptMIT License