AWS MCP Server
The AWS MCP Server enables management of AWS S3 and DynamoDB services through the Model Context Protocol (MCP) implementation.
S3 Operations: Create, list, delete buckets; upload, delete, list, read objects
DynamoDB Table Operations: Create, describe, list, delete, update tables
DynamoDB Item Operations: Put, get, update, delete, query, scan items
Batch Operations: Batch get, write, and execute PartiQL statements
TTL Operations: Describe and update Time-to-Live (TTL) settings
Audit Logs: All operations are automatically logged at
audit://aws-operationsendpoint
Referenced for hosting a demo video of the AWS MCP Server functionality.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AWS MCP Server list all S3 buckets in my account"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 claudeManual 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.jsonOn 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.
Related MCP server: AWS Resources MCP Server
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
Available Tools
23 toolsdynamodb_batch_executeC
Execute multiple PartiQL statements in a batch
Inputs: statements (required), parameters (required).
dynamodb_batch_getC
Batch get multiple items from DynamoDB tables
Inputs: request_items (required).
dynamodb_describe_ttlC
Get the TTL settings for a table
Inputs: table_name (required).
dynamodb_item_batch_writeC
Batch write operations (put/delete) for DynamoDB items
Inputs: table_name (required), operation (required), items (required), key_attributes.
dynamodb_item_deleteC
Delete an item from a DynamoDB table
Inputs: table_name (required), key (required).
dynamodb_item_getC
Get an item from a DynamoDB table
Inputs: table_name (required), key (required).
dynamodb_item_putC
Put an item into a DynamoDB table
Inputs: table_name (required), item (required).
dynamodb_item_queryC
Query items in a DynamoDB table
Inputs: table_name (required), key_condition (required), expression_values (required).
dynamodb_item_scanC
Scan items in a DynamoDB table
Inputs: table_name (required), filter_expression, expression_attributes.
dynamodb_item_updateC
Update an item in a DynamoDB table
Inputs: table_name (required), key (required), item (required).
dynamodb_table_createC
Create a new DynamoDB table
Inputs: table_name (required), key_schema (required), attribute_definitions (required).
dynamodb_table_deleteC
Delete a DynamoDB table
Inputs: table_name (required).
dynamodb_table_describeC
Get details about a DynamoDB table
Inputs: table_name (required).
dynamodb_table_listB
List all DynamoDB tables
Inputs: no named parameters.
dynamodb_table_updateC
Update a DynamoDB table
Inputs: table_name (required), attribute_definitions (required).
dynamodb_update_ttlC
Update the TTL settings for a table
Inputs: table_name (required), ttl_enabled (required), ttl_attribute (required).
s3_bucket_createC
Create a new S3 bucket
Inputs: bucket_name (required).
s3_bucket_deleteC
Delete an S3 bucket
Inputs: bucket_name (required).
s3_bucket_listB
List all S3 buckets
Inputs: no named parameters.
s3_object_deleteC
Delete an object from S3
Inputs: bucket_name (required), object_key (required).
s3_object_listC
List objects in an S3 bucket
Inputs: bucket_name (required).
s3_object_readC
Read an object's content from S3
Inputs: bucket_name (required), object_key (required).
s3_object_uploadC
Upload an object to S3
Inputs: bucket_name (required), object_key (required), file_content (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 23 tools
Every tool has a clearly distinct purpose with no ambiguity. The DynamoDB tools are precisely scoped to specific operations (batch_execute, batch_get, describe_ttl, etc.), and S3 tools are similarly well-defined (bucket_create, object_read, etc.). There is no overlap where an agent would struggle to choose between tools.
All tool names follow a consistent pattern of service_operation format (e.g., dynamodb_item_get, s3_object_upload). The naming is uniformly snake_case with clear verbs (get, put, delete, list, create, update) that match the operations precisely, making it highly predictable and readable.
With 23 tools, the count is slightly high but reasonable for covering two major AWS services (DynamoDB and S3). It provides comprehensive operations for each service, though it might feel heavy for a single server. The scope is well-defined, and each tool serves a distinct function, justifying its inclusion.
The tool set offers complete CRUD/lifecycle coverage for both DynamoDB and S3 domains. For DynamoDB, it includes table management (create, describe, list, update, delete) and item operations (get, put, update, delete, query, scan, batch operations, TTL). For S3, it covers bucket management (create, list, delete) and object operations (upload, read, list, delete). No obvious gaps exist for core workflows.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- AlicenseCqualityDmaintenanceA Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your AWS environment. This allows for natural language querying and management of your AWS resources during conversations. Think of better Amazon Q alternative.3296ISC
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables Claude to execute Python code using boto3 to query and manage AWS resources directly from conversations.124MIT
- AlicenseAqualityDmaintenanceAn Amazon S3 Model Context Protocol server that allows Large Language Models like Claude to interact with AWS S3 storage, providing tools for listing buckets, listing objects, and retrieving object contents.38,656 npm30MIT
- FlicenseNot gradedqualityFmaintenanceAn MCP server that enables Claude to generate and execute AWS CLI commands, allowing users to manage AWS resources through natural language conversations.2-