mcp-server-aws
by: rishikavikondala
A Model Context Protocol server implementation for operations on AWS resources
📌Overview
Purpose: The AWS MCP Server aims to provide a robust implementation of the Model Context Protocol (MCP) for managing AWS services, specifically S3 and DynamoDB, with comprehensive logging and auditing capabilities.
Overview: The AWS MCP Server supports seamless integration with AWS operations, allowing users to perform various actions on S3 and DynamoDB. All operations are automatically logged for easy access via an audit resource endpoint. The server is listed as a Community Server within the MCP repository, promoting collaboration and usability.
Key Features:
-
Automated Operation Logging: Every operation conducted through the server is logged automatically, ensuring transparency and facilitating audits through the
audit://aws-operations
resource endpoint. -
Comprehensive AWS Service Support: The server enables a wide range of operations for S3 (creation, listing, uploading, and deleting objects) and DynamoDB (including table creation, item manipulation, querying, and batch operations), enhancing the versatility and efficiency of AWS service management.
AWS MCP Server
A Model Context Protocol server implementation for AWS that supports S3 and DynamoDB services. All operations are automatically logged and can be accessed through the audit://aws-operations
resource endpoint.
Running Locally with the Claude Desktop App
Installing via Smithery
To install the 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. 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
)
- Environment variables:
-
Add the following to your
claude_desktop_config.json
file located at:- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- 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" ] } }
- MacOS:
-
Install and open the Claude desktop app.
-
Confirm the setup by asking Claude to perform a read/write operation, such as creating an S3 bucket. Use the debugging tools provided in the MCP documentation if needed.
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