S3 Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited S3 Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
_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.
s3://<bucket>/<key> resources generated from discovered buckets and objectsS3_MAX_BUCKETS (default: 5)ListBuckets - list buckets accessible by configured credentialsListObjectsV2 - list objects in a bucket (supports prefix and max_keys)GetObject - fetch an object by bucket_name + keyuv sync --no-install-projectcp env.example .env.env.PYTHONPATH=src .venv/bin/python -m s3_mcp_server.serverThe server runs over stdio (as MCP servers normally do).
You can configure this project with environment variables, an optional JSON/TOML config file, or the default AWS SDK credential chain.
S3_*, AWS_*)S3_CONFIG_FILE + S3_CONFIG_PROFILES3_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, or virtualS3_SIGNATURE_VERSION - usually s3v4S3_VERIFY_SSL - set false only for local/self-signed developmentS3_MAX_BUCKETS - max buckets processed per list callYou can bypass the ListBuckets permission requirement by explicitly declaring allowed buckets:
S3_BUCKETS=my-bucket-a,my-bucket-bS3_BUCKET_1, S3_BUCKET_2, ...buckets, bucket_names, or s3_bucketsSet:
S3_CONFIG_FILE=/absolute/path/to/s3.config.toml (or .json)S3_CONFIG_PROFILE=defaultSee s3.config.example.toml for profile examples.
Claude Desktop config path:
~/Library/Application Support/Claude/claude_desktop_config.json%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"
}
}
}
}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.serverThis project is licensed under MIT-0. See LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.