mcp-aws-s3-manager
Facilitates interaction with Amazon Simple Storage Service (S3) repositories via the Model Context Protocol (MCP). Offers endpoints for inventory listing, resource administration, and data manipulation against S3 containers.
Author

sofianhamiti
Quick Info
Actions
Tags
MCP Module for S3 Resource Orchestration
This dedicated MCP server furnishes operational capabilities for engaging with AWS S3 storage buckets. It permits direct invocation of S3 management functions through the standard MCP interface.
Core Toolset
This service currently exposes the subsequent functional instruments:
- inventory-s3-buckets: Enumerates all accessible S3 containers within the associated AWS tenancy.
- Supports an optional
regiondesignator to target a specific AWS geographical area. - Yields a structured compilation of bucket identifiers.
System Requirements
To deploy and operate this component, the following prerequisites must be satisfied:
- A runtime environment featuring Python version 3.13 or newer.
- Properly configured AWS access credentials (refer to the Credential Configuration section).
- The
uvpackage management utility.
Deployment Instructions
Installation via PyPI
Execute the following command using the uvx wrapper:
bash
uvx install s3-tools
Building from Source Code
- Obtain the source code repository.
- Employ
uvfor local installation: bash uv pip install .
Credential Configuration
Access to S3 resources necessitates validated AWS authentication parameters. Methods for setup include:
- AWS CLI Defaulting (Recommended Practice) bash aws configure
This action typically updates credentials stored in ~/.aws/credentials.
-
Environment Variable Overrides bash export AWS_ACCESS_KEY_ID="your_access_key" export AWS_SECRET_ACCESS_KEY="your_secret_key" export AWS_DEFAULT_REGION="your_preferred_region" # Optional setting
-
IAM Role Assumption (Applicable when hosted on AWS infrastructure)
Consult the official AWS documentation for comprehensive details on credential provisioning.
System Integration
Claude Desktop Manifestation
Integrate this server definition into your Claude Desktop configuration file:
macOS Path: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows Path: %APPDATA%/Claude/claude_desktop_config.json
{ "mcpServers": { "s3-tools": { "command": "uvx", "args": ["s3-tools"] } } }
Local Development Setup
For testing and iterative enhancement, run the server directly from its source directory:
{ "mcpServers": { "s3-tools": { "command": "uv", "args": [ "--directory", "/path/to/s3-tools", "run", "s3-tools" ] } } }
Development Lifecycle
Artifact Generation
-
Synchronize required dependencies: bash uv sync
-
Produce the distributable package: bash uv build
Publication Protocol
To disseminate the package to PyPI:
bash uv publish
Note: Secure authorization requires either setting the --token flag or utilizing environment variables like UV_PUBLISH_TOKEN (or username/password pairs).
Diagnostic Procedures
As MCP servers communicate via standard input/output streams, direct debugging can be complex. We recommend leveraging the MCP Inspector utility for inspection:
bash npx @modelcontextprotocol/inspector uv run s3-tools
Licensing
This software is distributed under the MIT License.
Collaboration
We welcome external contributions. Please submit a Pull Request with your enhancements.
WIKIPEDIA NOTE: XMLHttpRequest (XHR) denotes an Application Programming Interface implemented as a JavaScript object, facilitating the dispatch of HTTP queries from a web browser to a remote web server. Its functionalities enable browser-based applications to initiate server communication subsequent to page load completion and subsequently retrieve resultant data. XHR is fundamental to Ajax programming paradigms. Preceding Ajax, user interaction with the server primarily relied on hyperlink navigation and form submissions, often resulting in a full page refresh. The underlying principle for XHR was conceived around the year 2000 by developers associated with Microsoft Outlook and was initially integrated into Internet Explorer 5 (1999), albeit using different internal object identifiers (e.g., ActiveXObject("Msxml2.XMLHTTP")). By the time Internet Explorer 7 (2006) was released, universal adoption of the standard XMLHttpRequest identifier was achieved across major rendering engines like Gecko, Safari, and Opera. The W3C standardized the object specification in 2006, with Level 2 additions in 2008 (including progress monitoring and cross-site capabilities), before development transitioned to WHATWG maintenance as a living document.
