AWS S3 Explorer - MCP Server
An open-source Model Context Protocol (MCP) server built in Python that securely connects AI assistants to Amazon S3.
This server provides Large Language Models (LLMs) with the ability to list buckets, inspect dataset structures, and read file schemas directly without requiring massive data downloads. It is engineered for ML infrastructure pipelines, featuring fully asynchronous I/O and defensive error handling.
Features
- Asynchronous I/O: Utilizes
aiobotocorefor non-blocking concurrent requests, ensuring the server doesn't fall over under heavy LLM workloads. - Defensive Error Handling: Catch-and-return patterns for AWS exceptions (including missing credentials) that allow AI agents to cleanly self-correct.
- Strict Typing: Heavily typed Python interfaces using the
FastMCPwrapper to automatically generate robust JSON schemas for the client. - Mocked CI/CD: Fully automated test suites using
pytestandpytest-asyncio, integrated into a GitHub Action pipeline.
Tools Exposed to the LLM
This server exposes three specific primitives:
list_s3_buckets(): Lists all S3 buckets accessible by the current AWS credentials.list_s3_objects(bucket_name, prefix, max_keys): Lists objects inside a specific bucket. Limits results by default to prevent LLM context window overflow.read_s3_file_head(bucket_name, object_key, byte_limit): Reads the first few kilobytes of an S3 object to inspect its contents (e.g., CSV headers, JSON structures) without downloading the entire file.
Installation and Setup
Prerequisites
- Python 3.11+
- AWS credentials configured locally (e.g.,
aws configureor~/.aws/credentials)
Option 1: Quick Setup
If you have uv installed, you can quickly run the server without manual installation:
uvx aws-s3-explorer-mcp
Option 2: User Setup
Install the package from PyPI:
pip install aws-s3-explorer-mcp
You can start the MCP server by running:
aws-s3-explorer-mcp
Option 3: Developer Setup
Clone the repository and install the required dependencies:
git clone https://github.com/kbates97/AWS_S3_Explorer_MCP.git
cd AWS_S3_Explorer_MCP
python -m venv venv
# Windows: .\venv\Scripts\activate
# Mac/Linux: source venv/bin/activate
pip install -r requirements.txt
You can run the server locally with:
python ./src/aws_s3_mcp/server.py
Metadata
Release files for aws-s3-explorer-mcp 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| aws_s3_explorer_mcp-0.1.4.tar.gz | 5.1 kB | With provenance | Details for aws_s3_explorer_mcp-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aws_s3_explorer_mcp-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for aws_s3_explorer_mcp-0.1.4-py3-none-any.whl |
Total release size: 9.4 kB
Release files / aws_s3_explorer_mcp-0.1.4.tar.gz
| Download URL | aws_s3_explorer_mcp-0.1.4.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
083750d4b6ebf4275622fbbbe9026ff623ffe0eb81cfdbcc74c4eac44e4fb34d
|
|
BLAKE2b-256 checksum How to use checksums |
a81ee70d2a616fe56efaa1e5710ed946a3615b33e645c24518ef34f36a6d19c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 28, 2026.
Transparency logRelease files / aws_s3_explorer_mcp-0.1.4-py3-none-any.whl
| Download URL | aws_s3_explorer_mcp-0.1.4-py3-none-any.whl |
|---|---|
| Size | 4.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
657c2161bad16b823af52b1ef08adb662f5a149cda259c4fe6daf1a54d38fe6e
|
|
BLAKE2b-256 checksum How to use checksums |
369d2040446423371dccd0aadfb0c3686577de9560f027cd4dd69b17efc9f63f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 28, 2026.
Transparency logSecurity for aws-s3-explorer-mcp 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for aws_s3_explorer_mcp-0.1.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 28, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.