Skip to main content

MCP server to control AWS resources directly from Claude Desktop or Claude Code

Project description

claude-aws-mcp

PyPI version Python License: MIT

An MCP server that lets you control AWS resources directly from Claude Desktop or Claude Code using natural language.


Installation

pip install claude-aws-mcp

Setup

Step 1. Create a .env file in your working directory:

AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_DEFAULT_REGION=ap-northeast-2

Step 2. Run the MCP server:

aws-mcp

Claude Desktop Integration

Config file location:

OS Path
Windows %APPDATA%\Claude\claude_desktop_config.json
Mac ~/Library/Application Support/Claude/claude_desktop_config.json

Add this to claude_desktop_config.json:

{
  "mcpServers": {
    "aws": {
      "command": "aws-mcp",
      "env": {
        "AWS_ACCESS_KEY_ID": "your_access_key",
        "AWS_SECRET_ACCESS_KEY": "your_secret_key",
        "AWS_DEFAULT_REGION": "ap-northeast-2"
      }
    }
  }
}

Restart Claude Desktop — the AWS tools will appear automatically.


Claude Code Integration

claude mcp add aws aws-mcp

Or add directly to .claude/settings.json:

{
  "mcpServers": {
    "aws": {
      "command": "aws-mcp"
    }
  }
}

Available Tools

Security Groups

Tool Description
list_security_groups List all security groups with inbound/outbound rules
get_my_public_ip Get the current public IP address
add_my_ip_to_security_group Add current IP to a specified security group
remove_ip_from_security_group Remove a specific CIDR rule (supports port ranges e.g. 0-65535)
create_security_group Create a new security group

EC2 Instances

Tool Description
list_ec2_instances List instances with state, IP, and type
get_instance_details Get detailed info for a specific instance
start_ec2_instance Start an instance
stop_ec2_instance Stop an instance
reboot_ec2_instance Reboot an instance
create_ec2_instance Create a new instance
terminate_ec2_instance Permanently delete an instance
get_instance_console_output Get boot log (console output)

Elastic IP

Tool Description
list_elastic_ips List allocated EIPs with associated instance info
allocate_elastic_ip Allocate a new EIP
associate_elastic_ip Associate an EIP with an instance
disassociate_elastic_ip Disassociate an EIP
release_elastic_ip Release an EIP

Utilities

Tool Description
get_ssh_command Generate SSH command (auto-detects username from AMI)
add_instance_tag Add or update instance tags
change_instance_type Change instance type (auto stops if running)

S3

Tool Description
list_s3_buckets List all buckets with region
list_s3_objects List objects in a bucket (supports prefix filter)
create_s3_bucket Create a new bucket
delete_s3_object Delete a file from a bucket
get_s3_presigned_url Generate a temporary download URL

Bedrock AI

Tool Description
list_bedrock_models List available foundation models (supports provider filter)
invoke_bedrock_claude Invoke Claude model (default: Claude 3.5 Sonnet v2)
invoke_bedrock_model_raw Invoke any Bedrock model with raw JSON
list_bedrock_knowledge_bases List Knowledge Bases
query_bedrock_knowledge_base RAG query against a Knowledge Base

Infrastructure Info

Tool Description
list_key_pairs List available key pairs
list_vpcs List VPCs and subnets
list_available_amis List latest official AMIs (Amazon Linux / Ubuntu / Windows)

Example Prompts

Once connected to Claude, just type naturally:

Show me all security groups
Add my current IP to sg-0abc1234 on port 22
Remove 0.0.0.0/0 from sg-0abc1234 on port range 0-65535
List all running EC2 instances
Stop instance i-0abc1234
List all S3 buckets
Generate a presigned URL for my-bucket/report.pdf

IAM Permissions Required

Service Recommended Policy
EC2 / Security Groups AmazonEC2FullAccess
S3 AmazonS3FullAccess
Bedrock AmazonBedrockFullAccess

Troubleshooting

aws-mcp command not found

pip install --upgrade claude-aws-mcp

AWS authentication errors

  • Check that your .env values are correct
  • Confirm the IAM user has the required permissions

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_aws_mcp-0.1.2.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_aws_mcp-0.1.2-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file claude_aws_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: claude_aws_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for claude_aws_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 76871896d79dd440b21908e356723aa55bbb46dbad39a9495d466c57cb53337d
MD5 7f54dfcd3854d27292979d97f0b49d31
BLAKE2b-256 394d1fe60871a4d7315a1059e056d96670b8212b8470c55519de943fc4f27749

See more details on using hashes here.

File details

Details for the file claude_aws_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: claude_aws_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for claude_aws_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 365f5eeb8612c6e6e14b5af77ad6a0c4fad84605bbbaa3e274779e882309a8f1
MD5 1981a1a294b0071036b34d081717edad
BLAKE2b-256 46e6764bc31364dc54d331f79a47a6158bd05cd7b0c47f79ea408264941c60fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page