s3
⚙️ A Model Context Protocol (MCP) server for accessing Amazon S3 buckets. This server provides seamless integration with S3 storage through MCP, allowing efficient handling of large files including PDFs through streaming capabilities.
claude mcp add --transport stdio geun-oh-s3-mcp-server npx -y @geunoh/s3-mcp-server \ --env AWS_REGION="us-east-1" \ --env CONTENT_TYPE="application/octet-stream" \ --env S3_BUCKET_NAME="my-s3-bucket" \ --env AWS_ACCESS_KEY_ID="YOUR_AWS_ACCESS_KEY_ID" \ --env AWS_SECRET_ACCESS_KEY="YOUR_AWS_SECRET_ACCESS_KEY"
How to use
This MCP server exposes an interface to interact with Amazon S3 buckets via the Model Context Protocol. It supports listing objects in a bucket with an optional prefix and retrieving objects with streaming to efficiently handle large files (such as PDFs). The CLI and MCP integration allow you to configure the server with region, bucket name, and content type, and then start it through npx. Use the provided MCP commands to enumerate and fetch objects, while leveraging streaming for large payloads to minimize memory usage. To integrate with your MCP ecosystem, add the s3-mcp-server entry to your mcp.json and provide AWS credentials through environment variables.
How to install
Prerequisites: Node.js (LTS) and npm installed on your system.
- Install and run the server via npx (no local installation required):
npx -y @geunoh/s3-mcp-server
- (Optional) Build locally if you clone the repo and work from source:
git clone https://github.com/Geun-Oh/s3-mcp-server.git
cd s3-mcp-server
npm install
npm run build
- Run locally from built artifacts (if applicable):
node dist/cli.js
Prerequisites recap: a Node.js environment, npm, and valid AWS credentials with access to the target S3 bucket.
Additional notes
Tips and notes:
- Ensure AWS credentials have at least s3:ListBucket and s3:GetObject permissions for the target bucket.
- Set AWS_REGION and S3_BUCKET_NAME to match your deployment environment; these are optional but recommended for correctness.
- CONTENT_TYPE controls the default MIME type used for uploads/downloads when not overridden.
- When deploying in MCP ecosystems, you can pass credentials via the mcp.json env block as shown in the example.
- The server supports streaming for large files to avoid loading entire content into memory.
- If you encounter permissions or network issues, verify IAM policies, bucket policies, and the AWS region configuration.
- The MCP integration examples show how to embed the server into your mcp.json with environment variables and arguments.
Related MCP Servers
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud