Skip to main content

An implementation of a Model Context Protocol (MCP) server for AWS S3, enabling AI models, particularly Large Language Models (LLMs), to securely interact with S3 buckets.

Project description

MseeP.ai Security Assessment Badge

Model Context Protocol (MCP) Server for AWS S3

This repository provides an implementation of a Model Context Protocol (MCP) server for AWS S3, enabling AI models, particularly Large Language Models (LLMs), to securely interact with S3 buckets. The server offers a standardized interface to list S3 buckets, list objects within buckets, and download file contents. It facilitates seamless integration between AI applications and AWS S3 storage for efficient data retrieval and management.

Key Features

  • List S3 Buckets: Retrieve a list of available buckets in an AWS account.
  • List Objects: Display objects within a specified bucket.
  • File Download: Fetch the contents of specific objects, such as documents or other files.
  • Secure Interaction: Provides a standardized, secure interface for AI models to interact with S3.
  • MCP Ecosystem: Part of the Model Context Protocol ecosystem, supporting AI model integration with various data sources.

Use Cases

  • Data Analysis: Access and analyze data stored in S3 buckets for AI-driven applications.
  • Document Retrieval: Retrieve specific files (e.g., PDFs) for processing by AI models.
  • Automation: Automate S3 bucket management tasks via natural language queries with LLMs.
  • AI Development: Support development of AI models requiring access to external data sources.

Prerequisites

To use this server, developers need:

  • Python 3.10 or higher
  • Configured AWS credentials (Access Key ID, Secret Access Key, and Region)
  • uv package manager (recommended) or pip
  • Familiarity with the Model Context Protocol for AI application integration

Limitations

Some implementations may:

  • Support only specific file types (e.g., PDFs in certain versions).
  • Have limits on the number of retrieved objects (e.g., up to 1000 objects).
  • Require specific configurations, such as the maximum number of buckets to return.

Installation and Usage

Option 1: Install from PyPI (Recommended)

# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh  # Unix/macOS
# or for Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# Install the MCP S3 server
uv add mcp-s3-server

# Or using pip
pip install mcp-s3-server

Option 2: Development Installation

# Clone the repository
git clone https://github.com/ENGRZULQARNAIN/mcp_s3_server.git
cd mcp_s3_server

# Install with uv (recommended)
uv sync

# Or install with pip
pip install -e .

Configuration and Usage

  1. Configure AWS credentials using one of these methods:

    • AWS credentials file (~/.aws/credentials)
    • Environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION)
    • IAM roles (for EC2 instances)
  2. Start the server:

    mcp-s3-server
    
  3. Integrate with an AI model or application using the MCP interface.

Refer to the repository's documentation for detailed setup instructions and API usage.

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines on submitting issues, feature requests, or pull requests.

License

This project is licensed under the MIT License. See the LICENSE file for details.

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

mcp_s3_server-0.1.3.tar.gz (108.1 kB view details)

Uploaded Source

Built Distribution

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

mcp_s3_server-0.1.3-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file mcp_s3_server-0.1.3.tar.gz.

File metadata

  • Download URL: mcp_s3_server-0.1.3.tar.gz
  • Upload date:
  • Size: 108.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mcp_s3_server-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ef9b7192b13f24120235906c04a4c014f6ba8cac587f52979672d44318705b30
MD5 98c085339d9044c5f123dc009cd996e4
BLAKE2b-256 686d7000b1f9eb443c12f0d74f87d457b459147bf23f15e4042b6c42d3c7cb6d

See more details on using hashes here.

File details

Details for the file mcp_s3_server-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: mcp_s3_server-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for mcp_s3_server-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3544e236f7bf3d262ac718ce2f3b382b07ada05166c70fa59dd8365327ae1a70
MD5 7cd0a671de52091ccc991f385db115d3
BLAKE2b-256 85ae9aab854e1ef3659123b15a86e52166ec4ff0234a2704b91a3842fe56a405

See more details on using hashes here.

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