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 it as a better Amazon Q alternative.
- Query and modify AWS resources using natural language
- Support for multiple AWS profiles
- Multi-region support
- Local execution with your AWS credentials
- Python
- Claude Desktop
- AWS credentials configured locally (
~/.aws/
directory)
- Clone the repository:
git clone https://github.com/yourusername/aws-mcp
cd aws-mcp
- Install the Python MCP server:
pip install -e .
The AWS MCP can also be used as a command-line interface:
# Show available commands
python -m aws_mcp --help
# List available AWS profiles
python -m aws_mcp list-credentials
# Select an AWS profile
python -m aws_mcp select-profile myprofile
# Run AWS operations
python -m aws_mcp run-aws-code "list all S3 buckets"
# Use pretty formatting for more readable output
python -m aws_mcp --format pretty list-credentials
Note: Replace python
with the path to your Python executable if needed.
-
Open Claude desktop app and go to Settings -> Developer -> Edit Config
-
Add the following entry to your
claude_desktop_config.json
:
{
"mcpServers": {
"aws-mcp": {
"command": "/path/to/your/python",
"args": ["/path/to/your/aws-mcp/run_aws_mcp.py"]
}
}
}
Important: Replace /path/to/your/python
with the result of which python
from your terminal.
Important: Replace /path/to/your/aws-mcp/run_aws_mcp.py
with the actual path to the run_aws_mcp.py file.
-
Restart Claude desktop app. You should see this no errors:
-
Start by selecting an AWS profile or jump to action by asking:
- "List available AWS profiles"
- "List all EC2 instances in my account"
- "Show me S3 buckets with their sizes"
- "What Lambda functions are deployed in us-east-1?"
- "List all ECS clusters and their services"
To see logs:
tail -n 50 -f ~/Library/Logs/Claude/mcp-server-aws-mcp.log
# or
tail -n 50 -f ~/Library/Logs/Claude/mcp.log
- MFA support
- Cache SSO credentials to prevent from refreshing them too eagerly
For questions, suggestions, or discussions about AWS MCP, please:
- Open an issue on GitHub
- Email: [email protected]
Check out CONTRIBUTING.md for information on how to contribute to this project.
AWS MCP supports dynamic execution of AWS operations using boto3. It can:
- Parse natural language or code-like requests to determine the AWS service and operation
- Automatically execute the appropriate boto3 command
- Format results in a readable table when possible
- Handle errors gracefully
The parser can dynamically recognize and work with all AWS services available through boto3, including:
- S3
- EC2
- Lambda
- IAM
- DynamoDB
- RDS
- CloudFormation
- CloudWatch
- SNS
- SQS
- KMS
- Secrets Manager
- SSM
- Route53
- CloudFront
- Elastic Beanstalk
- API Gateway
- ECS
- STS
- Cognito
- CodeBuild
- CodeCommit
- CodePipeline
- Organizations
- GuardDuty
- ...and many more!