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
- Optional
Prerequisites
- Python 3.13 or higher
- AWS credentials configured (see AWS Credentials Setup)
- uv package manager
Installation
From PyPI
uvx install s3-tools
From Source
- Clone the repository
- 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:
-
AWS CLI configuration (Recommended)
aws configure
This will create/update credentials in
~/.aws/credentials
-
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
-
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
- Sync dependencies:
uv sync
- Build package:
uv build
Publishing
To publish to PyPI:
uv publish
Note: You'll need PyPI credentials configured via:
- Token:
--token
orUV_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.