Skip to main content
Glama

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

  1. Clone this repository.

  2. 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 to us-east-1)

  • Default AWS credential chain (set up via AWS CLI with aws configure)

  1. Add the following to your claude_desktop_config.json file:

  • 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"
    ]
  }
}
  1. Install and open the Claude desktop app.

  2. 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 tools
dynamodb_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

    A3.5/5.0

    Scored across 23 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count4/5

    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.

    Completeness5/5

    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

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      A 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.
      3
      296
      ISC
    • A
      license
      A
      quality
      D
      maintenance
      An 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.
      3
      8,656 npm
      30
      MIT