s3-mcp
s3-mcp
一个通用的 S3 协议 MCP 服务器(stdio),可运行于任何 S3 兼容端点之上 — RustFS、MinIO、Cloudflare R2、Backblaze B2、AWS S3 —— 不仅限于 AWS。
单一 Python 包,启动时创建一个 boto3 客户端,配置仅通过环境变量完成。基于官方 mcp SDK(高级服务器 API)和 boto3 构建。
配置(环境变量)
变量 | 必需 | 默认值 | 描述 |
| 否 | 无 | S3 兼容端点;省略以指向真实 AWS |
| 否 |
| 用于签名和创建存储桶的区域 |
| 是 | — | 访问密钥 |
| 是 | — | 秘密访问密钥 |
| 否 |
| 路径样式寻址(https://host/bucket/key)—— 大多数非 AWS 存储需要 |
| 否 |
|
|
布尔值接受 true/false/1/0/yes/no(不区分大小写)。缺少凭据或布尔值无效时,启动会中止并给出清晰错误。
Related MCP server: S3 MCP Server
工具
工具 | 只读提示 |
| 是 |
| 是 |
| 是 |
| 是 |
| 是 |
| 否 |
| 否 |
| 否 |
| 否 |
| 否 |
| 否 |
工具错误以简短的 RuntimeError 消息抛出,并由 MCP 作为错误结果返回。根据 SigV4 规范,预签名 URL 的上限为 7 天(604800 秒)。
示例配置
使用自签名证书的 RustFS
{
"mcpServers": {
"s3-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "S3_ENDPOINT_URL=https://rustfs.local:9000",
"-e", "S3_TLS_INSECURE=true",
"-e", "AWS_REGION=us-east-1",
"-e", "AWS_ACCESS_KEY_ID",
"-e", "AWS_SECRET_ACCESS_KEY",
"ghcr.io/jakeperalta7/s3-mcp:latest"
]
}
}
}不带值的 -e VAR 会从 shell 中透传变量,因此凭据绝不会出现在配置文件中。
MinIO
{
"mcpServers": {
"s3-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "S3_ENDPOINT_URL=http://localhost:9000",
"-e", "AWS_REGION=us-east-1",
"-e", "AWS_ACCESS_KEY_ID",
"-e", "AWS_SECRET_ACCESS_KEY",
"ghcr.io/jakeperalta7/s3-mcp:latest"
]
}
}
}AWS S3
省略 S3_ENDPOINT_URL;采用标准的 AWS 凭据/区域解析方式:
{
"mcpServers": {
"s3-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "AWS_REGION",
"-e", "AWS_ACCESS_KEY_ID",
"-e", "AWS_SECRET_ACCESS_KEY",
"ghcr.io/jakeperalta7/s3-mcp:latest"
]
}
}
}不使用 Docker(uv)
uvx --from git+https://github.com/JakePeralta7/s3-mcp s3-mcp{
"mcpServers": {
"s3-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/JakePeralta7/s3-mcp", "s3-mcp"],
"env": {
"S3_ENDPOINT_URL": "http://localhost:9000",
"AWS_ACCESS_KEY_ID": "...",
"AWS_SECRET_ACCESS_KEY": "..."
}
}
}
}开发
uv sync --group dev # install deps into .venv
uv run pytest -q # unit tests (boto3 mocked, no network)
docker build -t s3-mcp:dev .入口点:python -m s3_mcp(仅 stdio 传输)。
发布
每次推送到 main 分支都会运行测试,然后发布 ghcr.io/<owner>/<repo>:<version> 和 :latest,其中 <version> 从 pyproject.toml 中的 version 读取。要发布,请提升版本号并合并到 main。不使用 Git 标签。
许可证
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.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables interaction with S3-compatible storage services like AWS S3 and Cloudflare R2, supporting bucket management, object listing, reading, uploading, and deletion operations.5295ISC
- AlicenseNot gradedqualityFmaintenanceEnables interaction with AWS S3 through MCP, supporting bucket and object management, lifecycle configurations, tagging, policies, CORS settings, presigned URLs, and file uploads/downloads.3MIT
- FlicenseAqualityDmaintenanceProvides tools for interacting with MinIO and S3-compatible object storage through MCP clients like Claude. It enables comprehensive bucket and object management, including listing, creating, uploading, and generating presigned URLs.132
- AlicenseAqualityCmaintenanceEnables MCP clients to connect to AWS S3 buckets, list, upload, and read objects in various formats, supporting public and private buckets with multiple transport modes.4MIT
Related MCP Connectors
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
34 production API tools over one hosted MCP endpoint.
Official Sevalla MCP — full PaaS API access through just 2 tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/JakePeralta7/s3-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server