2nd Place
S3 Butler
S3 Butler provides analysis of S3 buckets, visualizations of storage traffic, and visibility into user permissions.
Core trick
Exposes S3 bucket listing, IAM policy inspection, and ClickHouse access-log queries as MCP tools for an admin agent.
Description
S3 Butler provides analysis of S3 buckets, visualizations of storage traffic, and visibility into user permissions. It enables storage administrators to quickly understand bucket activity and access controls. This is critical, as managing permissions and ensuring accurate resource utilization are among the most complex responsibilities of a service provider.
mistral-mcp-hackathon/mcp-server★ 10 forksPythonApache-2.0Created Sep 13, 2025 · last push Sep 14, 2025
README excerpt
# S3 Butler A Model Context Protocol (MCP) server that provides tools for S3 bucket management, IAM policy inspection, and ClickHouse analytics. ## Quick Start ```bash # 1. Clone the repository git clone <your-repo-url> cd mcp-server # 2. Install uv (Python package manager) curl -LsSf https://astral.sh/uv/install.sh | sh # 3. Set up environment variables cp .env.example .env # Edit .env with your credentials (see Environment Setup below) # 4. Install dependencies uv sync # 5. Run the server uv run python src/server.py ``` Your MCP server is now running at `http://localhost:8000/mcp` 🎉 ## Environment Setup Create a `.env` file with your credentials: ```bash # Server Configuration MCP_HOST=0.0.0.0 MCP_PORT=8000 MCP_PATH=/mcp # S3/IAM Configuration (Required) S3_ENDPOINT=http://127.0.0.1:8000 # Your S3 endpoint S3_ACCESS_KEY=your_access_key # Your S3 access key S3_SECRET_KEY=your_secret_key # Your S3 secret key IAM_ENDPOINT=http://127.0.0.1:8600 # Your IAM endpoint # ClickHouse Configuration (Optional - for analytics) CLICKHOUSE_HOST=localhost # Leave blank to disable ClickHouse CLICKHOUSE_USER= # Optional CLICKHOUSE_PASSWORD= # Optional # ngrok Configuration (Optional - for remote access) NGROK_AUTH_TOKEN= # Get from https://dashboard.ngrok.com ``` ## Available Tools The server provides these MCP tools: 1. **`get_team_name`** - Returns the team name 2. **`list_b