{
  "markdown": "# mcp-server-s3\n\n[![npm version](https://img.shields.io/npm/v/mcp-server-s3.svg)](https://www.npmjs.com/package/mcp-server-s3)\n[![npm downloads](https://img.shields.io/npm/dm/mcp-server-s3.svg)](https://www.npmjs.com/package/mcp-server-s3)\n[![CI](https://github.com/ofershap/mcp-server-s3/actions/workflows/ci.yml/badge.svg)](https://github.com/ofershap/mcp-server-s3/actions/workflows/ci.yml)\n[![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue.svg)](https://www.typescriptlang.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Agent Plugins](https://img.shields.io/badge/Agent_Plugins-1.0.0-0ea5e9.svg)](https://agent-plugins.org)\n\nManage AWS S3 buckets and objects from your AI assistant. Browse files, upload and download content, and generate presigned URLs.\n\n```bash\nnpx mcp-server-s3\n```\n\n> Works with Claude Desktop, Cursor, VS Code Copilot, and any MCP client. Uses your existing AWS credentials (`~/.aws/credentials` or environment variables).\n\n![MCP server for AWS S3 bucket management and file operations](assets/demo.gif)\n\n<sub>Demo built with <a href=\"https://github.com/ofershap/remotion-readme-kit\">remotion-readme-kit</a></sub>\n\n## Why\n\nS3 is the most widely used cloud storage service, but managing it from the command line means remembering `aws s3 ls`, `aws s3 cp`, presigned URL syntax, and various flags. Google has an official MCP for GCS, Cloudflare has one for R2, but AWS S3 doesn't have a polished standalone MCP server on npm. This one lets you ask your assistant to list buckets, download a config file, upload content, or generate a temporary sharing link. It uses the standard AWS credential chain, so if your CLI already works, this works too.\n\n## Tools\n\n| Tool            | What it does                                           |\n| --------------- | ------------------------------------------------------ |\n| `list_buckets`  | List all S3 buckets in your AWS account.               |\n| `list_objects`  | List objects in a bucket, with optional prefix filter. |\n| `get_object`    | Download and read an object's content as text.         |\n| `put_object`    | Upload text content to an S3 object.                   |\n| `delete_object` | Delete an object from a bucket.                        |\n| `presigned_url` | Generate a temporary presigned URL for an object.      |\n| `bucket_info`   | Check if a bucket exists and get basic info.           |\n\n## Quick Start\n\n### Cursor\n\nAdd to `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"s3\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-s3\"],\n      \"env\": {\n        \"AWS_REGION\": \"us-east-1\",\n        \"AWS_ACCESS_KEY_ID\": \"your-access-key\",\n        \"AWS_SECRET_ACCESS_KEY\": \"your-secret-key\"\n      }\n    }\n  }\n}\n```\n\n### Claude Desktop\n\nAdd to `claude_desktop_config.json` (macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"s3\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-s3\"],\n      \"env\": {\n        \"AWS_REGION\": \"us-east-1\",\n        \"AWS_ACCESS_KEY_ID\": \"your-access-key\",\n        \"AWS_SECRET_ACCESS_KEY\": \"your-secret-key\"\n      }\n    }\n  }\n}\n```\n\n### VS Code\n\nConfigure the MCP server to run `npx mcp-server-s3` with `AWS_REGION`, `AWS_ACCESS_KEY_ID`, and `AWS_SECRET_ACCESS_KEY` in the environment.\n\n## Authentication\n\nThe server uses the standard AWS credential chain:\n\n1. **Environment variables**: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_REGION`\n2. **Shared credentials file**: `~/.aws/credentials`\n3. **IAM roles**: when running on EC2, ECS, Lambda, or similar\n\nSet `AWS_REGION` (defaults to `us-east-1`) and make sure your credentials have the necessary S3 permissions: `s3:ListBuckets`, `s3:ListBucket`, `s3:GetObject`, `s3:PutObject`, `s3:DeleteObject`, `s3:HeadBucket`.\n\n## Agent Plugins\n\nThis repo is an [Agent Plugins](https://agent-plugins.org) 1.0.0 package: `plugin.json`, portable `mcp.json`, and `skills/` ship together with the MCP server.\n\nFor Cursor, clone the repo and copy or symlink it to `~/.cursor/plugins/local/mcp-server-s3`, then reload the window. Skills and MCP show up under Customize > Plugins.\n\nAgent Plugins v1 does not ship OAuth or AWS SSO wiring. Set `AWS_REGION` and credentials via env or `~/.aws/credentials` in the MCP client host. One-click install is not offered because secrets stay in env.\n\n## FAQ\n\n### What is mcp-server-s3?\n\nAn MCP server for S3: list buckets and objects, read/upload text objects, delete keys, presigned URLs, and bucket checks.\n\n### How does authentication work?\n\nStandard AWS credential chain: env vars, shared credentials file, or IAM role on the machine running the MCP server.\n\n### Which env vars should I set in MCP config?\n\nAt minimum `AWS_REGION`. Often `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` unless you rely on `~/.aws/credentials` or a role.\n\n### Can I install it as an Agent Plugin in Cursor?\n\nYes, via `~/.cursor/plugins/local/mcp-server-s3`. Ensure the Cursor process can read the same AWS credentials as your CLI.\n\n### Why no one-click Cursor button?\n\nAWS keys cannot be embedded in a portable install link. Use the JSON under Quick Start.\n\n## Example prompts\n\n- \"List all my S3 buckets\"\n- \"Show me the files in my-bucket/uploads/\"\n- \"Download the config.json from my-bucket\"\n- \"Upload this content to my-bucket/notes.txt\"\n- \"Generate a presigned URL for this file that expires in 1 hour\"\n\n## Development\n\n```bash\nnpm install\nnpm run typecheck\nnpm run build\nnpm test\nnpm run format\nnpm run lint\n```\n\n## See also\n\nMore MCP servers and developer tools on my [portfolio](https://gitshow.dev/ofershap).\n\n## Author\n\n[![Made by ofershap](https://gitshow.dev/api/card/ofershap)](https://gitshow.dev/ofershap)\n\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-0A66C2?style=flat&logo=linkedin&logoColor=white)](https://linkedin.com/in/ofershap)\n[![GitHub](https://img.shields.io/badge/GitHub-Follow-181717?style=flat&logo=github&logoColor=white)](https://github.com/ofershap)\n\n---\n\n<sub>README built with [README Builder](https://ofershap.github.io/readme-builder/)</sub>\n\n## License\n\nMIT © 2026 Ofer Shapira\n",
  "bytes": 6155,
  "sha": "edde04b1a03fcd01198bad2db0d6c144060fab04af9d0e9fabdd734150a04731",
  "repo_slug": "ofershap/mcp-server-s3",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ofershap_s3_346fd9a9/readme"
}