Skip to main content

An open-source Model Context Protocol (MCP) server for Amazon S3.

Project description

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 aiobotocore for 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 FastMCP wrapper to automatically generate robust JSON schemas for the client.
  • Mocked CI/CD: Fully automated test suites using pytest and pytest-asyncio, integrated into a GitHub Action pipeline.

Tools Exposed to the LLM

This server exposes three specific primitives:

  1. list_s3_buckets(): Lists all S3 buckets accessible by the current AWS credentials.
  2. list_s3_objects(bucket_name, prefix, max_keys): Lists objects inside a specific bucket. Limits results by default to prevent LLM context window overflow.
  3. 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 configure or ~/.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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aws_s3_explorer_mcp-0.1.4.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aws_s3_explorer_mcp-0.1.4-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file aws_s3_explorer_mcp-0.1.4.tar.gz.

File metadata

  • Download URL: aws_s3_explorer_mcp-0.1.4.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for aws_s3_explorer_mcp-0.1.4.tar.gz
Algorithm Hash digest
SHA256 083750d4b6ebf4275622fbbbe9026ff623ffe0eb81cfdbcc74c4eac44e4fb34d
MD5 6523e9a2403cc5db36ad8eaf92415c0b
BLAKE2b-256 a81ee70d2a616fe56efaa1e5710ed946a3615b33e645c24518ef34f36a6d19c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aws_s3_explorer_mcp-0.1.4.tar.gz:

Publisher: release.yml on kbates97/AWS_S3_Explorer_MCP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aws_s3_explorer_mcp-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for aws_s3_explorer_mcp-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 657c2161bad16b823af52b1ef08adb662f5a149cda259c4fe6daf1a54d38fe6e
MD5 5e5f76697851af0a86a34eac6c4a34b7
BLAKE2b-256 369d2040446423371dccd0aadfb0c3686577de9560f027cd4dd69b17efc9f63f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aws_s3_explorer_mcp-0.1.4-py3-none-any.whl:

Publisher: release.yml on kbates97/AWS_S3_Explorer_MCP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page