aws-s3
MCP server exposing AWS S3 tools: list buckets/objects, presigned GET/PUT, safe by default.
claude mcp add --transport stdio khuynh22-aws-s3-mcp-server node /absolute/path/to/aws-s3-mcp-server/dist/index.js
How to use
The aws-s3 MCP server exposes AWS S3 operations through a secure MCP interface. It provides tools to list buckets, list objects within a bucket (with optional prefix filtering), and generate presigned URLs for safe object access. Two presigned workflows are available: GET URLs for downloading objects and PUT URLs for uploading objects (the latter requires enabling write operations via the ALLOW_WRITE flag). The server validates inputs with Zod and emits structured logs, operating safely by default with write operations turned off unless explicitly allowed. You can interact with it using MCP clients such as Claude Desktop or VS Code, leveraging the included tool names (s3_list_buckets, s3_list_objects, s3_presign_get, s3_presign_put) to perform common S3 tasks through the MCP layer.
To use with Claude Desktop, configure your MCP server in claude_desktop_config.json to point to the built server (dist/index.js) via Node. For VS Code integration, update your ~/.vscode/mcp.json to route stdio traffic to the same server entry point. Typical operations include listing buckets, listing bucket objects (with optional prefixes), obtaining download URLs, and (if enabled) generating upload URLs with optional content types and custom expiration. See the Usage and Documentation sections in the repo for examples and commands you can speak or type to trigger these operations.
How to install
Prerequisites:
- Node.js (and npm) installed on the host
- AWS credentials with appropriate permissions (read for list operations; write for presigned PUT if enabled)
Step-by-step installation:
-
Clone the repository git clone https://github.com/your-org/khuynh22-aws-s3-mcp-server.git cd khuynh22-aws-s3-mcp-server
-
Install dependencies npm install
-
Build the project npm run build
-
Configure AWS credentials cp .env.example .env
Edit .env to set AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, and optional ALLOW_WRITE and LOG_LEVEL
-
Run a quick test (standalone) npm start
-
Optional: run tests or additional tooling npm test npm run lint
Additional notes
Tips and notes:
- Environment variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION are required. To enable write operations, set ALLOW_WRITE=true in .env. You can adjust log verbosity with LOG_LEVEL.
- Presigned URLs: presigned URLs have configurable expiration (default 3600 seconds; max 604800 seconds).
- Security: By default, write operations are disabled. Ensure you rotate credentials and store them securely in a .env file (not committed to source control).
- Troubleshooting: If the server stops responding in Claude, verify the absolute path to dist/index.js in your MCP client config and try running node dist/index.js manually for a quick sanity check.
- Performance: For large buckets, use s3_list_objects with a prefix to narrow results and consider pagination with maxKeys.
Related MCP Servers
frontmcp
TypeScript-first framework for the Model Context Protocol (MCP). You write clean, typed code; FrontMCP handles the protocol, transport, DI, session/auth, and execution flow.
shinzo-ts
TypeScript SDK for MCP server observability, built on OpenTelemetry. Gain insight into agent usage patterns, contextualize tool calls, and analyze server performance across platforms. Integrate with any OpenTelemetry ingest service including the Shinzo platform.
mcp -js
MCP server that exposes YepCode processes as callable tools for AI platforms. Securely connect AI assistants to your YepCode workflows, APIs, and automations.
architect
A powerful, self-extending MCP server for dynamic AI tool orchestration. Features sandboxed JS execution, capability-based security, automated rate limiting, marketplace integration, and a built-in monitoring dashboard. Built for the Model Context Protocol (MCP).
mcp-bun
Bun Javascript Runtime MCP Server for AI Agents
vscode-context
MCP Server to Connect with VS Code IDE