An MCP server that provides tools for interacting with AWS S3 buckets. This server enables direct access to S3 bucket operations through the Model Context Protocol.

s3-tools MCP Server

An MCP server that provides tools for interacting with AWS S3 buckets. This server enables direct access to S3 bucket operations through the Model Context Protocol.

Features

Tools

The server currently implements the following tools:

  • list-s3-buckets: Lists all S3 buckets in your AWS account
    • Optional region parameter to specify AWS region
    • Returns a formatted list of bucket names

Prerequisites

Installation

From PyPI

uvx install s3-tools

From Source

  1. Clone the repository
  2. Install using uv:
uv pip install .

AWS Credentials Setup

This server requires AWS credentials to access your S3 buckets. You can configure credentials in several ways:

  1. AWS CLI configuration (Recommended)

    aws configure
    

    This will create/update credentials in ~/.aws/credentials

  2. Environment Variables

    export AWS_ACCESS_KEY_ID="your_access_key"
    export AWS_SECRET_ACCESS_KEY="your_secret_key"
    export AWS_DEFAULT_REGION="your_preferred_region"  # optional
    
  3. IAM Role (if running on AWS infrastructure)

For more information about AWS credentials, see the AWS documentation.

Configuration

Claude Desktop

Add the server configuration to your Claude Desktop config file:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "s3-tools": {
      "command": "uvx",
      "args": ["s3-tools"]
    }
  }
}

Development Configuration

For development/testing, you can run the server directly from source:

{
  "mcpServers": {
    "s3-tools": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/s3-tools",
        "run",
        "s3-tools"
      ]
    }
  }
}

Development

Building

  1. Sync dependencies:
uv sync
  1. Build package:
uv build

Publishing

To publish to PyPI:

uv publish

Note: You'll need PyPI credentials configured via:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector for development:

npx @modelcontextprotocol/inspector uv run s3-tools

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Features

buckets
aws
storage
credentials
configuration

Category

Cloud Platforms