S3
FreeNot checkedMCP server for AWS S3 and compatible object stores, enabling LLM clients to browse buckets and fetch objects.
About
MCP server for AWS S3 and compatible object stores, enabling LLM clients to browse buckets and fetch objects.
README
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 objects- Up 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
Quick start
- Sync dependencies:
uv sync --no-install-project
- Create a local environment file from the template:
cp env.example .env
Set credentials and endpoint settings in
.env.Run the server:
PYTHONPATH=src .venv/bin/python -m s3_mcp_server.server
The 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_PROFILE- Botocore/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-b- or 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.json - Windows:
%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.server
License
This project is licensed under MIT-0. See LICENSE.
Install S3 in Claude Desktop, Claude Code & Cursor
unyly install s3-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add s3-mcp -- uvx s3-mcpFAQ
Is S3 MCP free?
Yes, S3 MCP is free — one-click install via Unyly at no cost.
Does S3 need an API key?
No, S3 runs without API keys or environment variables.
Is S3 hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install S3 in Claude Desktop, Claude Code or Cursor?
Open S3 on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare S3 with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
