AWS MCP Server

This repository hosts an AWS implementation of the Model Context Protocol server, supporting S3 and DynamoDB services. All operations are logged and accessible via the audit://aws-operations
endpoint.
<a href="https://glama.ai/mcp/servers/v69k6ch2gh">
<img width="380" height="200" src="https://glama.ai/mcp/servers/v69k6ch2gh/badge" alt="AWS Server MCP server" />
</a>
A demo video is available here. It is also 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.
- Configure AWS credentials using environment variables (
AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
, AWS_REGION
) or the default AWS credential chain. The server requires an IAM user with read/write permissions for S3 and DynamoDB. - Add the following configuration to your
claude_desktop_config.json
file:
"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.
- Test the setup by asking Claude to perform a read/write operation (e.g., creating an S3 bucket). Debugging tools are available in the MCP documentation here.
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