S3 MCP Server
Provides tools for listing objects and retrieving objects from Amazon S3 buckets, with streaming support for large files including PDFs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@S3 MCP Server list objects with prefix 'reports/'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
S3 MCP Server
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.
Features
S3 bucket object listing with prefix filtering
Efficient large file handling through streaming
Secure AWS credentials management
TypeScript support
CLI interface with customizable options
Related MCP server: MCP Server for Apache OpenDAL™
Installation
npx -y @geunoh/s3-mcp-serverUsage
Command Line Options
npx -y @geunoh/s3-mcp-server [options]Options:
--port, -p: Server port (default: 3000)--region, -r: AWS region (default: ap-northeast-2)--bucket, -b: S3 bucket name (default: my-dancing-bucket)--content-type, -t: Input file content type for uploads/downloads (default: application/octet-stream)
Environment Variables
Required:
export AWS_ACCESS_KEY_ID="your_access_key"
export AWS_SECRET_ACCESS_KEY="your_secret_key"Optional:
export AWS_REGION="ap-northeast-2"
export S3_BUCKET_NAME="my-bucket-name"
export CONTENT_TYPE="application/octet-stream" # Optional: default MIME type for uploads/downloadsMCP Integration
Add to your mcp.json:
{
"mcpServers": {
"s3-mcp-server": {
"command": "npx",
"args": [
"-y",
"@geunoh/s3-mcp-server",
"--region",
"us-east-1",
"--bucket",
"my-test-bucket",
"--content-type",
"text/plain"
],
"env": {
"AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID",
"AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY"
}
}
}
}Or like this way:
{
"mcpServers": {
"s3-mcp-server": {
"command": "npx",
"args": ["-y", "@geunoh/s3-mcp-server"],
"env": {
"AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID",
"AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY",
// optional
"AWS_REGION": "us-east-1",
"S3_BUCKET_NAME": "my-test-bucket"
}
}
}
}Available MCP Functions
listObjects
Lists objects in the S3 bucket.
Parameters:
prefix(optional): Filter objects by prefix
getObject
Retrieves an object from the S3 bucket. Optimized for large files through streaming.
Parameters:
key: The key of the object to retrieve
Returns:
stream: ReadableStream of the object contentcontentType: MIME type of the objectcontentLength: Size of the object in byteslastModified: Last modification timestamptext: Text buffer of raw pdf ByteArray
AWS IAM Permissions
Minimum required permissions (see s3-policy.json):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket", "s3:GetObject"],
"Resource": "arn:aws:s3:::my-bucket-name"
}
]
}Development
Clone the repository:
git clone https://github.com/Geun-Oh/s3-mcp-server.git
cd s3-mcp-serverInstall dependencies:
npm installBuild the project:
npm run buildRun locally:
node dist/cli.jsProject Structure
.
├── src/ # TypeScript source files
├── dist/ # Compiled JavaScript files and runtime dependencies
├── tsconfig.json # TypeScript configuration
└── package.json # Project configuration and dependenciesDeployment
Create a new version tag:
npm version patchPush to npm registry:
npm publish --access publicThe GitHub Actions workflow will automatically publish the package when a new version tag is pushed.
License
MIT
Contributing
Issues and pull requests are welcome. Please ensure that your changes maintain the existing code style and include appropriate tests.
Available Tools
3 toolsget_objectD
Inputs: key (required).
list_bucketsD
Inputs: prefix (required).
upload_fileD
Inputs: localFilePath (required), key (required), contentType.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool targets a distinct S3 action (get object, list buckets, upload file) with no overlap. Even without descriptions, the names clearly differentiate the operations.
All tool names follow a consistent verb_noun pattern with snake_case (get_object, list_buckets, upload_file), making them predictable and easy to understand.
With 3 tools, the server is slightly under-scoped for a typical S3 service, but it covers core operations. The count is still within a reasonable range for a focused utility.
The tool set is missing essential S3 operations like delete_object, list_objects, and copy_object. These omissions create significant gaps that would hinder an agent performing common storage tasks.
Related MCP Connectors
An MCP server for the STRG.com s3-compatible object storage network for all management operations. Full documentation access, ask questions, create buckets, configure scoped access keys, CORS rules, lifecycle policies and perform any S3 operation.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Tigris MCP Server seamlessly connects AI agents to Tigris bucket and object management.
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- FlicenseBqualityDmaintenanceAn MCP server that provides tools for interacting with AWS S3 buckets, enabling direct access to S3 operations through the Model Context Protocol.1-
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides seamless access to multiple storage services including S3, Azure Blob Storage, and Google Cloud Storage through Apache OpenDAL™.335Apache 2.0
- AlicenseAqualityDmaintenanceA Model Context Protocol server implementation that enables Claude to perform AWS operations on S3 and DynamoDB services through natural language commands.23127MIT
- AlicenseAqualityDmaintenanceAn Amazon S3 Model Context Protocol server that allows Large Language Models like Claude to interact with AWS S3 storage, providing tools for listing buckets, listing objects, and retrieving object contents.38,656 npm30MIT