aws-s3-management-utility
Facilitates comprehensive administration of Amazon Simple Storage Service (S3) assets, encompassing bucket lifecycle governance, object metadata manipulation (tags), access control mechanism deployment (policies), and cross-origin resource sharing (CORS) configuration.
Author

ashgw
Quick Info
Actions
Tags
Overview of Capabilities
This backend service empowers users to perform the following operations within AWS S3:
- Govern S3 repositories (buckets) and stored items (objects).
- Implement and modify object expiration and retention policies (lifecycle configurations).
- Assign, retrieve, and update metadata labels (tags) associated with individual objects.
- Define and enforce access regulations via bucket policy documents.
- Establish rules governing cross-domain data access through CORS settings.
Deployment Instructions
Integration methods vary based on your operational environment. We detail several common approaches below.
Cursor Integration (Recommended)
Incorporate this configuration snippet into your Cursor MCP manifest file:
{ "mcpServers": { "s3-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "AWS_SECRET_ACCESS_KEY=your_access_key", "-e", "AWS_ACCESS_KEY_ID=your_access_key", "-e", "AWS_REGION=your_region", "ashgw/s3-mcp:latest" ] } } }
For enhanced stability, substitute
:latestwith a specific version tag (e.g.,20250413-165732). A full catalog of available builds can be found on the official Docker Hub repository.
Cursor is designed to automatically tunnel your requests through this established MCP endpoint.
Verify that the connection status indicator is green and all advertised tools are responsive.
Standalone Docker Execution
You can initiate the S3 management agent manually using the Docker CLI:
bash docker run --rm -it \ -e AWS_ACCESS_KEY_ID=your_access_key \ -e AWS_SECRET_ACCESS_KEY=your_secret_key \ -e AWS_REGION=your_region \ ashgw/s3-mcp
This command deploys the container utilizing the publicly hosted image at ashgw/s3-mcp.
Source Repository Method
Clone the project repository, navigate into the directory, and build the image locally:
bash
git clone
Subsequently, launch an instance linked to your credentials:
bash docker run --rm -e AWS_ACCESS_KEY_ID=your_access_key -e AWS_SECRET_ACCESS_KEY=your_secret_key -e AWS_REGION=your_region s3-mcp
Required Environment Variables
Ensure these shell variables are exported to authenticate AWS interactions:
bash export AWS_ACCESS_KEY_ID=your_access_key export AWS_SECRET_ACCESS_KEY=your_secret_key export AWS_REGION=your_region
Functional Capabilities Index
- Catalog Buckets: Obtain a comprehensive manifest of all provisioned S3 containers.
- Provision Bucket: Instantiate a new S3 repository, optionally supplying initial configuration parameters.
- Enumerate Bucket Contents: Retrieve a listing of all distinct objects residing within a specified bucket.
- Fetch Object Data: Secure the binary content of a designated S3 object.
- Inject Object Data: Facilitate the upload of new content into a designated bucket.
- Purge Object: Permanently eradicate a specified object from its bucket location.
- Generate Temporary Access Link: Construct a time-limited, signed URL for read or write access to an object.
- Establish Bucket Access Policy: Modify or insert the declarative security rules governing a bucket.
- Retrieve Bucket Policy: Query and view the active access rule set for a bucket.
- Revoke Bucket Policy: Erase any existing access policy associated with a bucket.
- Manage Bucket Lifecycle Rules: Administer the automated retention or archival directives applied to objects.
- Object Metadata Labeling: Apply or query the key-value tags affixed to stored objects.
- Bucket Sharing Rules (CORS): Configure and inspect the settings that permit cross-origin requests.
- Duplicate Object: Copy an object from a source path to a destination path within S3.
- Local-to-S3 Transfer: Upload a file from the local host filesystem to an S3 target.
- S3-to-Local Download: Fetch an object from S3 and save it to a designated local filesystem path.
Illustrative Interaction Snippets
Listing Available Repositories
python response = await tool("catalog_buckets") print(response)
Creating a New Repository
python response = await tool("provision_bucket", { "bucket_name": "my-new-repository", "region": "us-west-1", "config": { "blockPublicAccess": { "BlockPublicAcls": True, "IgnorePublicAcls": True, "BlockPublicPolicy": True, "RestrictPublicBuckets": True }, "versioning": True, "encryption": "AES256" } }) print(response)
Transferring a Local Artifact
python response = await tool("local_to_s3_transfer", { "bucket_name": "my-new-repository", "local_path": "/path/to/local/artifact.dat", "key": "artifact.dat" }) print(response)
Querying Object Labels
python response = await tool("query_object_metadata_tags", { "bucket_name": "my-new-repository", "key": "artifact.dat" }) print(response)
Legal Notice
Licensed under the MIT License
WIKIPEDIA: Cloud computing is "a paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand," according to ISO. It is commonly referred to as "the cloud".
== Defining Attributes == In 2011, the National Institute of Standards and Technology (NIST) delineated five "essential characteristics" defining cloud infrastructures. The precise definitions provided by NIST are reproduced below:
On-demand self-service: "A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider." Broad network access: "Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations)." Resource pooling: " The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand." Rapid elasticity: "Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear unlimited and can be appropriated in any quantity at any time." Measured service: "Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service. By 2023, the International Organization for Standardization (ISO) had expanded and refined the list.
== Historical Context ==
The genesis of distributed computing concepts dates back to the 1960s, focusing on the popularization of time-sharing systems via Remote Job Entry (RJE). The foundational "data center" operational structure, wherein users submitted batch jobs to system operators for execution on mainframe hardware, predominated during this period. This era was marked by intensive research and trials aimed at democratizing access to high-capacity computational power through time-sharing mechanisms, focusing on optimizing the underlying infrastructure, middleware, and end-user applications for heightened efficiency. The pictorial representation of virtualized services as a "cloud" originated in 1994, utilized by General Magic to symbolize the conceptual space of "locations" accessible by mobile agents within their Telescript framework. This metaphor is attributed to David Hoffman, a specialist in communications at General Magic, building upon its established convention in telecommunications and network diagrams. The term "cloud computing" gained broader traction in 1996 following internal documentation from Compaq Computer Corporation outlining future internet-based computational strategies. The firm's aspiration involved superch
