sample-mcp-server-s3

This repository provides an MCP server implementation for retrieving data, specifically PDF documents, from AWS S3, enabling integration with LLMs like Claude by exposing S3 data through resources and tools.

54
4

Sample S3 Model Context Protocol Server

This repository contains an MCP server implementation designed to retrieve data, specifically PDF documents, from Amazon S3 for use with Large Language Models (LLMs).

Features

  • Resources: Exposes AWS S3 data as resources, functioning like GET endpoints to load information into an LLM's context. Currently supports PDF documents, limited to 1000 objects.
  • Tools:
    • ListBuckets: Returns a list of all S3 buckets owned by the authenticated request sender.
    • ListObjectsV2: Lists up to 1,000 objects within a specified S3 bucket per request.
    • GetObject: Retrieves a specific object from S3 using its full key name, supporting both virtual-hosted-style and path-style requests.

Configuration

Requires AWS credentials (access key ID, secret access key, and region) configured using the "Default" profile, with appropriate READ/WRITE permissions for S3. Instructions are provided for integrating with Claude Desktop, including configuration examples for both development and published servers.

Development

Provides instructions for building and publishing the package using uv, including syncing dependencies, building distributions, and publishing to PyPI. Also recommends using the MCP Inspector for debugging, launched via npm.

Security

Refer to CONTRIBUTING for security-related information.

License

Licensed under the MIT-0 License. See the LICENSE file.

Repository

AW
aws-samples

aws-samples/sample-mcp-server-s3

Created

December 23, 2024

Updated

March 22, 2025

Language

Python

Category

AI