S3

com.pulsemcp由 pulsemcp.com 发布v0.0.5更新于 Oct 24, 2026

MCP server for AWS S3 with fine-grained tool control and S3-compatible endpoint support.

概览

AI 生成的概览

本地 MCP 服务器,让助手列出、读取、上传、复制和删除 AWS S3 存储桶与对象,并可用工具组限制为只读。

可以做什么
列出并检查存储桶和对象,支持前缀与分页列举、以文本读取对象内容、检查存储桶是否存在。上传或更新对象、在桶内或跨桶复制对象、删除对象。创建和删除存储桶。按工具组(readonly 或 readwrite)或按具体工具名限制可用工具,也可将操作限定到单个存储桶。提供用于调试的配置资源。
适用场景
适合让助手直接处理存放在 S3 或 MinIO、LocalStack 等兼容服务中的文件,例如浏览已存对象、读取内容或管理上传与清理。只读模式适合探索,写入模式适合有意的存储桶与对象维护。
运行要求
通过 npx 在本地运行(需要 Node.js)。需要 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY;AWS_REGION 默认 us-east-1。可选 AWS_ENDPOINT_URL 和 S3_FORCE_PATH_STYLE 用于兼容服务,S3_BUCKET 限定单个存储桶,以及工具组和工具列表变量限制访问。需要访问 AWS 或自定义端点的网络。
安装前请注意
所用凭据是真实的 AWS 密钥,应只授予所需的 S3 权限。写入工具可上传、覆盖、复制和删除对象,以及创建或删除存储桶;默认启用全部工具,如不需要应设为只读组或禁用删除类工具。单桶设置只缩小范围,不改变密钥本身的权限。

安装

在 SourceWeft 中

  1. 打开 控制台中的 S3,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

S3 MCP Server

MCP server for AWS S3 operations with fine-grained tool access control. Supports read/write operations on S3 buckets and objects, with configurable tool groups for security and permission management.

Highlights

  • Full S3 bucket and object management (list, get, put, copy, delete)
  • Fine-grained access control with tool groups (readonly, readwrite)
  • Individual tool enable/disable via environment variables
  • AWS credential validation with health checks
  • S3-compatible endpoint support (MinIO, LocalStack, etc.)
  • TypeScript with strict type checking
  • Comprehensive testing (functional, integration, manual)

Capabilities

Tools

ToolGroupDescription
list_bucketsreadonlyList all S3 buckets in the AWS account
list_objectsreadonlyList objects in a bucket with prefix and pagination
get_objectreadonlyGet object contents as text
head_bucketreadonlyCheck if a bucket exists and is accessible
put_objectreadwriteUpload or update an object
delete_objectreadwriteDelete an object from a bucket
copy_objectreadwriteCopy an object within or across buckets
create_bucketreadwriteCreate a new S3 bucket
delete_bucketreadwriteDelete an empty S3 bucket

Resources

ResourceDescription
s3://configServer configuration and status (for debugging)

Tool Groups

Control which tools are available via the S3_ENABLED_TOOLGROUPS environment variable:

GroupDescription
readonlyRead-only operations (list, get, head)
readwriteWrite operations (put, delete, copy, create)

Examples:

  • S3_ENABLED_TOOLGROUPS="readonly" - Only read operations
  • S3_ENABLED_TOOLGROUPS="readonly,readwrite" - All operations
  • Not set - All tools enabled (default)

Individual Tool Control

Fine-grained control over specific tools:

  • S3_ENABLED_TOOLS="list_buckets,get_object" - Only enable these tools
  • S3_DISABLED_TOOLS="delete_bucket,delete_object" - Disable these tools

Single Bucket Mode

Constrain all operations to a specific bucket using S3_BUCKET:

bash
S3_BUCKET="my-bucket"

When set:

  • All object operations are automatically scoped to this bucket
  • Bucket-level tools (list_buckets, create_bucket, delete_bucket, head_bucket) are hidden
  • The bucket parameter is automatically injected and hidden from tool inputs
  • For copy_object, both source and destination are constrained to the specified bucket

This is useful for restricting access to a single bucket without giving broader S3 permissions.

Quick Start

Configuration

Environment Variables
VariableRequiredDescriptionDefault
AWS_ACCESS_KEY_IDYesAWS access key ID-
AWS_SECRET_ACCESS_KEYYesAWS secret access key-
AWS_REGIONNoAWS region for S3 operationsus-east-1
AWS_ENDPOINT_URLNoCustom S3 endpoint (for MinIO, etc.)-
S3_FORCE_PATH_STYLENoUse path-style addressing (for MinIO)false
S3_BUCKETNoConstrain operations to single bucket-
S3_ENABLED_TOOLGROUPSNoComma-separated tool groupsAll enabled
S3_ENABLED_TOOLSNoSpecific tools to enable-
S3_DISABLED_TOOLSNoSpecific tools to disable-
SKIP_HEALTH_CHECKSNoSkip credential validationfalse

Claude Desktop Configuration

If this is your first time using MCP Servers, make sure you have the Claude Desktop application and follow the official MCP setup instructions.

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

json
{  "mcpServers": {    "s3": {      "command": "npx",      "args": ["-y", "s3-aws-mcp-server"],      "env": {        "AWS_ACCESS_KEY_ID": "your-access-key-id",        "AWS_SECRET_ACCESS_KEY": "your-secret-access-key",        "AWS_REGION": "us-east-1",        "S3_ENABLED_TOOLGROUPS": "readonly"      }    }  }}

Restart Claude Desktop and you should be ready to go!

Read-Only Mode

For safer exploration, enable only read operations:

json
{  "env": {    "S3_ENABLED_TOOLGROUPS": "readonly"  }}

Using with S3-Compatible Services

For MinIO, LocalStack, or other S3-compatible services:

json
{  "env": {    "AWS_ACCESS_KEY_ID": "minioadmin",    "AWS_SECRET_ACCESS_KEY": "minioadmin",    "AWS_REGION": "us-east-1",    "AWS_ENDPOINT_URL": "http://localhost:9000",    "S3_FORCE_PATH_STYLE": "true"  }}

Note: S3_FORCE_PATH_STYLE is required for MinIO and some other S3-compatible services that use path-style addressing (localhost:9000/bucket-name) instead of virtual-hosted-style (bucket-name.localhost:9000).

Development

Install Dependencies

bash
npm run install-all

Build

bash
npm run build

Running in Development Mode

bash
npm run dev

Testing

bash
# Run functional testsnpm run test:run
# Run integration tests (full MCP protocol)npm run test:integration
# Run manual tests (real AWS - requires .env)npm run test:manual:setup  # First time onlynpm run test:manual
# Run all automated testsnpm run test:all

Manual Testing Setup

Create a .env file in the s3 directory:

bash
AWS_ACCESS_KEY_ID=your_access_keyAWS_SECRET_ACCESS_KEY=your_secret_keyAWS_REGION=us-east-1

Then run:

bash
npm run test:manual

Project Structure

s3/├── local/                 # Local server implementation│   ├── src/│   │   ├── index.ts      # Main entry point with env validation│   │   └── index.integration-with-mock.ts│   └── package.json├── shared/               # Shared business logic│   ├── src/│   │   ├── server.ts     # Server factory with DI│   │   ├── tools.ts      # Tool registration with grouping│   │   ├── tools/        # Individual tool implementations│   │   ├── resources.ts  # Resource implementations│   │   ├── s3-client/    # AWS S3 client wrapper│   │   └── logging.ts│   └── package.json├── tests/                # Test suite│   ├── functional/       # Unit tests with mocks│   ├── integration/      # MCP protocol tests│   ├── manual/          # Real API tests│   └── mocks/           # Mock implementations└── package.json         # Root workspace config

License

MIT

来源:experimental/s3/README.md,提交 0ed34de

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.0.5最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分