- Home
- MCP servers
- AWS S3
AWS S3
- typescript
2
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"openworkspace-o1-aws-ow-s3-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BUCKET_NAME",
"-e",
"REGION",
"-e",
"AWS_ACCESS_KEY_ID",
"-e",
"AWS_SECRET_ACCESS_KEY",
"mcp/aws-ow-s3-mcp"
],
"env": {
"REGION": "<AWS_REGION>",
"BUCKET_NAME": "<YOUR_BUCKET_NAME>",
"AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
"AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>"
}
}
}
}This MCP server gives you secure access to your AWS S3 buckets by generating and validating pre-signed URLs for common operations. You can list objects, retrieve individual objects via a time-limited URL, upload new objects through a pre-signed URL, and delete objects, all without exposing your credentials.
How to use
You interact with the AWS S3 MCP server to perform the following actions: list_objects, get_object, put_object, and delete_object. Each operation leverages pre-signed URLs to grant time-limited access to your S3 resources. The pre-signed URLs for retrieval and upload expire after a configurable number of seconds (default 3600 seconds). Ensure your bucket name and AWS region are correctly configured.
Prerequisites for using the MCP server include providing your bucket name and AWS region, along with AWS credentials. You can supply credentials through environment variables, IAM roles, or the standard AWS credentials file. The following environment variables are required by the server configuration you will run:
- BUCKET_NAME — name of your S3 bucket (required)
- REGION — AWS region (default: ap-southeast-1)
- AWS_ACCESS_KEY_ID — your AWS access key id
- AWS_SECRET_ACCESS_KEY — your AWS secret access key
Run options
You can run the MCP server using Docker or via NPX. When running with Docker, the server container is started with a set of environment variables that you provide. When using NPX, you pass the package name and include the same environment variables.
Docker run example (command and arguments are shown as a complete command). This starts the MCP server in a container and passes the required environment variables.
Basic workflow
-
Ensure you have set
BUCKET_NAMEandREGION, and provide AWS credentials in your environment. -
Start the MCP server using one of the supported run methods (Docker or NPX). You will then be able to request pre-signed URLs for
get_objectandput_object, list objects withlist_objects, and delete objects withdelete_object.
Generated URLs and usage
-
get_objectreturnsobject_urlwhich is a pre-signed URL to access a specific object. The URL expires after the configuredexpiryduration (default 3600 seconds). -
put_objectreturnsupload_urlwhich is a pre-signed URL to upload a specific object. The URL expires after the configuredexpiryduration (default 3600 seconds). -
list_objectsreturns an array of objects with keys, sizes, and last-modified dates, filtered by an optionalprefix.
Security considerations
Treat pre-signed URLs as sensitive tokens. Only share them with trusted clients and keep your AWS credentials secure. Use the minimum necessary permissions for the bucket and objects, and rotate keys regularly.
Available tools
list_objects
List objects in an S3 bucket with an optional prefix filter. Returns an array of objects with keys, sizes, and last modified dates.
get_object
Generate a pre-signed URL to retrieve an object by key. Supports an expiry time in seconds (default 3600) and returns object_url.
put_object
Generate a pre-signed URL to upload an object by key. Supports an expiry time in seconds (default 3600) and returns upload_url.
delete_object
Delete an object from the bucket by key and return a success status.