Skip to main content
Glama

s3-mcp

by KonMam
MIT License

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

  1. Clone the repository:
    git clone https://github.com/konstantinasm/s3-mcp.git cd s3-mcp
  2. Install dependencies:
    uv sync
  3. Configure environment variables:
    cp config/.env.example .env # Edit .env with your AWS credentials and S3 bucket details
  4. Test the installation:
    uv run python scripts/test_server.py

Configuration

Required Environment Variables

  • AWS_ACCESS_KEY_ID - Your AWS Access Key ID
  • AWS_SECRET_ACCESS_KEY - Your AWS Secret Access Key

Usage

Running the Server

With startup script (recommended):

uv run python scripts/start_server.py

Direct execution:

uv run python src/s3_mcp.py

Testing

Run test suite:

uv run python scripts/test_server.py

Example Tool Calls

List all S3 buckets:

list_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

  1. Configure environment:
    cp config/.env.example .env # Edit .env with your settings
  2. Run with Docker Compose:
    docker compose up -d

Building Docker Image

docker build -t s3-mcp-server .

Development

Project Structure

s3-mcp/ ├── src/ │ └── s3_mcp.py # Main server implementation ├── scripts/ │ ├── start_server.py # Startup script with validation │ └── test_server.py # Test script ├── config/ │ ├── .env.example # Environment configuration template │ └── mcp.json # MCP client configuration example ├── pyproject.toml # Python project configuration ├── requirements.txt # Dependencies ├── Dockerfile # Docker configuration ├── docker-compose.yml # Docker Compose setup ├── README.md # This file ├── MCP_SETUP.md # MCP integration guide └── LICENSE # MIT license

Contributing

Contributions are welcome! If you have ideas, improvements, or bug fixes — feel free to submit a pull request.

How to Contribute:
  1. Fork the repository.
  2. Create a new branch for your changes.
  3. Make your changes with clear, clean commits.
  4. 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

uv run python scripts/test_server.py

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:

export DEBUG=1 uv run python scripts/start_server.py

Dependencies

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A 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 -
    128
    35
    TypeScript
    MIT License
    • Linux
    • Apple
  • A
    security
    F
    license
    A
    quality
    An 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
    Python
    • Apple
  • A
    security
    A
    license
    A
    quality
    A 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 -
    3
    31
    Python
    Apache 2.0
  • A
    security
    A
    license
    A
    quality
    An 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 -
    3
    573
    11
    TypeScript
    MIT License
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KonMam/s3-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server