s3-mcp
Enables AI agents to browse and fetch content from Backblaze B2 object storage, providing tools to list buckets, list objects, and retrieve object content.
Enables AI agents to browse and fetch content from Cloudflare R2 object storage, providing tools to list buckets, list objects, and retrieve object content.
Enables AI agents to browse and fetch content from MinIO object storage, providing tools to list buckets, list objects, and retrieve object content.
Click on "Install 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-mcplist objects in my-bucket"
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
original work from https://github.com/aws-samples/sample-mcp-server-s3
s3-mcp is a Model Context Protocol (MCP) server for AWS S3 and S3-compatible object stores (for example MinIO, Cloudflare R2, and Backblaze B2 S3). It exposes buckets and objects through MCP resources and tools so LLM clients can browse and fetch content from object storage.
What this server exposes
Resources
s3://<bucket>/<key>resources generated from discovered buckets and objectsUp to 1,000 objects per bucket listing request
Bucket listing is limited by
S3_MAX_BUCKETS(default:5)
Tools
ListBuckets- list buckets accessible by configured credentialsListObjectsV2- list objects in a bucket (supportsprefixandmax_keys)GetObject- fetch an object bybucket_name+key
Related MCP server: s3-mcp
Quick start
Sync dependencies:
uv sync --no-install-projectCreate a local environment file from the template:
cp env.example .envSet credentials and endpoint settings in
.env.Run the server:
PYTHONPATH=src .venv/bin/python -m s3_mcp_server.serverThe server runs over stdio (as MCP servers normally do).
Configuration
You can configure this project with environment variables, an optional JSON/TOML config file, or the default AWS SDK credential chain.
Credential and setting precedence
Environment variables (
S3_*,AWS_*)S3_CONFIG_FILE+S3_CONFIG_PROFILEBotocore/AWS SDK credential provider chain
Important environment variables
S3_REGION/AWS_REGION- region used for request signingS3_ENDPOINT_URL- required for most non-AWS providersS3_ACCESS_KEY_ID,S3_SECRET_ACCESS_KEY,S3_SESSION_TOKENS3_ADDRESSING_STYLE-auto,path, orvirtualS3_SIGNATURE_VERSION- usuallys3v4S3_VERIFY_SSL- setfalseonly for local/self-signed developmentS3_MAX_BUCKETS- max buckets processed per list call
Bucket allow-list (recommended for restricted credentials)
You can bypass the ListBuckets permission requirement by explicitly declaring allowed buckets:
S3_BUCKETS=my-bucket-a,my-bucket-bor indexed vars:
S3_BUCKET_1,S3_BUCKET_2, ...or config file keys:
buckets,bucket_names, ors3_buckets
Optional config file
Set:
S3_CONFIG_FILE=/absolute/path/to/s3.config.toml(or.json)S3_CONFIG_PROFILE=default
See s3.config.example.toml for profile examples.
Claude Desktop example
Claude Desktop config path:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"s3-mcp-server": {
"command": "/absolute/path/to/s3-mcp/.venv/bin/python",
"args": ["-m", "s3_mcp_server.server"],
"env": {
"PYTHONPATH": "/absolute/path/to/s3-mcp/src",
"S3_ENDPOINT_URL": "http://localhost:9000",
"S3_REGION": "us-east-1",
"S3_ACCESS_KEY_ID": "replace-me",
"S3_SECRET_ACCESS_KEY": "replace-me",
"S3_BUCKETS": "my-bucket"
}
}
}
}Debugging
The easiest way to inspect requests and responses is with the MCP Inspector:
npx @modelcontextprotocol/inspector /absolute/path/to/s3-mcp/.venv/bin/python -m s3_mcp_server.serverLicense
This project is licensed under MIT-0. See LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/EpykLab/s3-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server