Skip to content

txn2/mcp-s3

An MCP server that connects AI assistants to Amazon S3 and S3-compatible object storage. Browse buckets, read and write objects, and generate presigned URLs for secure file sharing.

Unlike other MCP servers, mcp-s3 is designed as a composable Go library. Import it into your own MCP server to add S3 capabilities with custom authentication, tenant isolation, and audit logging. The standalone server works out of the box; the library lets you build exactly what your organization needs.

Get Started View on GitHub


Two Ways to Use

  • Use the Server


    Connect Claude, Cursor, or any MCP client to S3 with secure defaults.

    • Read-only mode by default
    • Size limits enforced
    • Multi-account support

    Install in 5 minutes

  • Build Custom MCP


    Import the Go library for enterprise servers with auth, tenancy, and compliance.

    • OAuth, API keys, SSO
    • Bucket/prefix isolation
    • SOC2 / HIPAA audit logs

    View library docs


Core Capabilities

  • Composable Architecture


    Import as a Go library to build custom MCP servers with authentication, tenant isolation, and audit logging without forking.

    Library docs

  • Multi-Provider Support


    Works with AWS S3, SeaweedFS, LocalStack, and any S3-compatible storage. Connect to multiple accounts from a single installation.

    Configuration

  • Multi-Account


    Query production, staging, and development S3 buckets from a single MCP installation with unified credentials.

    Multi-connection setup

  • Secure Defaults


    Read-only mode prevents accidental writes. Size limits prevent abuse. Prefix ACLs restrict access to specific paths.

    Security


Available Tools

Tool Description
s3_list_buckets List all accessible S3 buckets
s3_list_objects List objects with prefix/delimiter filtering
s3_get_object Retrieve object content
s3_get_object_metadata Get object metadata without downloading
s3_put_object Upload an object (disabled in read-only mode)
s3_delete_object Delete an object (disabled in read-only mode)
s3_copy_object Copy an object within or between buckets
s3_presign_url Generate presigned GET or PUT URLs
s3_list_connections List configured S3 connections

Quick Start

claude mcp add s3 \
  -e AWS_ACCESS_KEY_ID=your-key \
  -e AWS_SECRET_ACCESS_KEY=your-secret \
  -e AWS_REGION=us-east-1 \
  -- mcp-s3
claude mcp add seaweedfs \
  -e S3_ENDPOINT=http://localhost:8333 \
  -e S3_USE_PATH_STYLE=true \
  -e AWS_ACCESS_KEY_ID=any \
  -e AWS_SECRET_ACCESS_KEY=any \
  -- mcp-s3
go install github.com/txn2/mcp-s3/cmd/mcp-s3@latest

Next Steps