MCP S3 File Uploader - A Model Context Protocol server for S3 uploads
MCP S3 File Uploader - A Model Context Protocol server for S3 uploads. That is what the mcp mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.
Perfect for AI assistants like Claude, Cursor, and any MCP-compatible client.
The server publishes 3 tools. What each one is for:
PyPI — https://pypi.org/project/mcp-s3/GitHub — https://github.com/dayongd1/mcp-s3Testing — The Testing tool exposed by this serverInstallation goes through your MCP client rather than a global install: point it at mcp-s3 on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
Configuration is passed through the environment: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, S3_BUCKET_NAME, AWS_DEFAULT_REGION. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. MCP's toolset — PyPI, GitHub, Testing — is a fair guide to whether it matches your workflow.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| PyPI | https://pypi.org/project/mcp-s3/ |
| GitHub | https://github.com/dayongd1/mcp-s3 |
| Testing | The Testing tool exposed by this server. |
**Claude Desktop** - Add to config:
```json
{
"mcpServers": {
"s3": {
"command": "mcp-s3",
"args": ["--root", "~/uploads"],
"env": {
"AWS_ACCESS_KEY_ID": "your_key",
"AWS_SECRET_ACCESS_KEY": "your_secret",
"S3_BUCKET_NAME": "your-bucket"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| AWS_ACCESS_KEY_ID | Credential the server authenticates with. | Yes |
| AWS_SECRET_ACCESS_KEY | Credential the server authenticates with. | Yes |
| S3_BUCKET_NAME | Configuration value read at startup. | Optional |
| AWS_DEFAULT_REGION | Configuration value read at startup. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.