mcp server s3
An MCP server that provides tools for interacting with AWS S3 buckets, enabling direct access to S3 operations through the Model Context Protocol.
An MCP server that provides tools for interacting with AWS S3 buckets, enabling direct access to S3 operations through the Model Context Protocol.
An MCP server that provides tools for interacting with AWS S3 buckets. This server enables direct access to S3 bucket operations through the Model Context Protocol.
The server currently implements the following tools:
region
parameter to specify AWS regionuvx install s3-tools
uv pip install .
This server requires AWS credentials to access your S3 buckets. You can configure credentials in several ways:
AWS CLI configuration (Recommended)
aws configure
This will create/update credentials in ~/.aws/credentials
Environment Variables
export AWS_ACCESS_KEY_ID="your_access_key"
export AWS_SECRET_ACCESS_KEY="your_secret_key"
export AWS_DEFAULT_REGION="your_preferred_region" # optional
IAM Role (if running on AWS infrastructure)
For more information about AWS credentials, see the AWS documentation.
Add the server configuration to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"s3-tools": {
"command": "uvx",
"args": ["s3-tools"]
}
}
}
For development/testing, you can run the server directly from source:
{
"mcpServers": {
"s3-tools": {
"command": "uv",
"args": [
"--directory",
"/path/to/s3-tools",
"run",
"s3-tools"
]
}
}
}
Sync dependencies:
uv sync
Build package:
uv build
To publish to PyPI:
uv publish
Note: You'll need PyPI credentials configured via:
- Token: --token
or UV_PUBLISH_TOKEN
- Or username/password: --username
/UV_PUBLISH_USERNAME
and --password
/UV_PUBLISH_PASSWORD
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector for development:
npx @modelcontextprotocol/inspector uv run s3-tools
MIT
Contributions are welcome! Please feel free to submit a Pull Request.
[
{
"description": "List all S3 buckets in your AWS account",
"inputSchema": {
"properties": {
"region": {
"description": "AWS region (optional, defaults to configured region)",
"type": "string"
}
},
"type": "object"
},
"name": "list-s3-buckets"
}
]