Manage AWS S3 and DynamoDB with MCP
MCP server for AWS S3 and DynamoDB - buckets, objects, tables, items, batch operations, and TTL, with every call audit-logged.
Maintainer of this project? Claim this page to edit the listing.
1.0.0Add to Favorites
Why it matters
Integrate with AWS services like S3 and DynamoDB using the Model Context Protocol. Automate bucket and table management, object operations, and item manipulation with built-in logging and auditing.
Outcomes
What it gets done
Create, list, and delete S3 buckets and objects.
Manage DynamoDB tables, including creation, description, and deletion.
Perform item operations (put, get, update, delete) on DynamoDB tables.
Enable automatic operation logging and access an audit trail for AWS actions.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-aws | bash Capabilities
Tools your agent gets
Create a new S3 bucket
List all S3 buckets
Delete an S3 bucket
Upload an object to S3
Delete an object from S3
List objects in an S3 bucket
Read the contents of an object from S3
Create a new DynamoDB table
Overview
AWS MCP Server
An MCP server exposing S3 and DynamoDB read/write operations - buckets, objects, tables, items, batch operations, and TTL - with automatic audit logging. Use when an assistant needs to manage S3 storage or DynamoDB data directly, given an IAM user scoped to those services.
What it does
AWS MCP Server gives an assistant direct read/write access to Amazon S3 and DynamoDB. Every operation it performs is automatically logged and retrievable through the audit://aws-operations resource endpoint, giving a built-in audit trail of everything the assistant did against the AWS account.
When to use - and when NOT to
Use this connector when an assistant needs to manage S3 buckets and objects or DynamoDB tables and items conversationally - creating a bucket, uploading or reading an object, querying or scanning a DynamoDB table, or adjusting TTL settings. It requires an IAM user with read/write permissions scoped to S3 and DynamoDB, so its blast radius is exactly those two services; because writes and deletes execute for real against the connected AWS account, it is worth confirming actions like bucket or table deletion before letting the assistant run them autonomously, especially given the automatic audit logging exists precisely because these operations are consequential.
Capabilities
S3 tools cover the full bucket and object lifecycle: s3_bucket_create, s3_bucket_list, s3_bucket_delete, s3_object_upload, s3_object_delete, s3_object_list, and s3_object_read. DynamoDB tools span four groups: table operations (dynamodb_table_create, _describe, _delete, _update), item operations (dynamodb_item_put, _get, _update, _delete, _query, _scan), batch operations (dynamodb_batch_get, dynamodb_item_batch_write, and dynamodb_batch_execute for running multiple PartiQL statements at once), and TTL operations (dynamodb_describe_ttl, dynamodb_update_ttl).
How to install
npx -y @smithery/cli install mcp-server-aws --client claude
for automatic Smithery install, or manually: clone the repository, provide AWS credentials either via AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_REGION (default us-east-1) environment variables or the default AWS credential chain (aws configure), then add it to claude_desktop_config.json as a uv run mcp-server-aws command pointed at the cloned directory. Verify the setup by asking Claude to perform a simple read/write operation, such as creating an S3 bucket with a random name.
Who it's for
Developers and cloud engineers who want an assistant to manage S3 storage and DynamoDB data directly - creating buckets and tables, uploading and querying data, running batch PartiQL statements, or adjusting TTL policies - with every operation logged for auditability, rather than scripting AWS SDK calls by hand for routine operational tasks. It is listed as a community server in the official Model Context Protocol servers repository, and a demo video walks through the Claude Desktop setup end to end for anyone getting started with it for the first time, including how to confirm the setup by asking Claude to perform a real S3 or DynamoDB action.
Source README
AWS MCP Server
A Model Context Protocol server implementation for AWS operations that currently supports S3 and DynamoDB services. All operations are automatically logged and can be accessed through the audit://aws-operations resource endpoint.
See a demo video here.
Listed as a Community Server within the MCP servers repository.
Running locally with the Claude desktop app
Installing via Smithery
To install AWS MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp-server-aws --client claude
Manual Installation
- Clone this repository.
- Set up your AWS credentials via one of the two methods below. Note that this server requires an IAM user with RW permissions for your AWS account for S3 and DynamoDB.
- Environment variables:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_REGION(defaults tous-east-1) - Default AWS credential chain (set up via AWS CLI with
aws configure)
- Add the following to your
claude_desktop_config.jsonfile:
- On MacOS:
~/Library/Application\ Support/Claude/claude_desktop_config.json - On Windows:
%APPDATA%/Claude/claude_desktop_config.json
"mcpServers": {
"mcp-server-aws": {
"command": "uv",
"args": [
"--directory",
"/path/to/repo/mcp-server-aws",
"run",
"mcp-server-aws"
]
}
}
- Install and open the Claude desktop app.
- Try asking Claude to do a read/write operation of some sort to confirm the setup (e.g. create an S3 bucket and give it a random name). If there are issues, use the Debugging tools provided in the MCP documentation here.
Available Tools
S3 Operations
- s3_bucket_create: Create a new S3 bucket
- s3_bucket_list: List all S3 buckets
- s3_bucket_delete: Delete an S3 bucket
- s3_object_upload: Upload an object to S3
- s3_object_delete: Delete an object from S3
- s3_object_list: List objects in an S3 bucket
- s3_object_read: Read an object's content from S3
DynamoDB Operations
Table Operations
- dynamodb_table_create: Create a new DynamoDB table
- dynamodb_table_describe: Get details about a DynamoDB table
- dynamodb_table_delete: Delete a DynamoDB table
- dynamodb_table_update: Update a DynamoDB table
Item Operations
- dynamodb_item_put: Put an item into a DynamoDB table
- dynamodb_item_get: Get an item from a DynamoDB table
- dynamodb_item_update: Update an item in a DynamoDB table
- dynamodb_item_delete: Delete an item from a DynamoDB table
- dynamodb_item_query: Query items in a DynamoDB table
- dynamodb_item_scan: Scan items in a DynamoDB table
Batch Operations
- dynamodb_batch_get: Batch get multiple items from DynamoDB tables
- dynamodb_item_batch_write: Batch write operations (put/delete) for DynamoDB items
- dynamodb_batch_execute: Execute multiple PartiQL statements in a batch
TTL Operations
- dynamodb_describe_ttl: Get the TTL settings for a table
- dynamodb_update_ttl: Update the TTL settings for a table
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.