
AWS MCP Server
Give Claude access to all 200+ AWS services through the AWS CLI.
Add to your client
Copy the config for your MCP client and paste it into its config file.
uvx aws-mcpPaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"aws-mcp-server": {
"command": "uvx",
"args": [
"aws-mcp"
]
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf
Before you start
- AWS CLI installed
- AWS credentials configured (env vars, ~/.aws/credentials, ~/.aws/config, or IAM role)
- uv installed (for uvx), or Docker
About AWS MCP Server
A lightweight MCP server that bridges AI assistants with the AWS CLI. Rather than implementing per-service API wrappers, it exposes the entire AWS CLI through two tools, letting Claude get help for any command and then execute it (with optional Unix pipes like jq or grep). What Claude can actually do is bounded by the configured IAM policy.
Tools & capabilities (2)
aws_cli_helpGet documentation for any AWS command.
aws_cli_pipelineExecute AWS CLI commands with optional pipes (jq, grep, etc.).
When to use it
- Query and manage AWS resources across all 200+ services via natural language
- Inspect AWS CLI command documentation on demand before executing
- Run AWS CLI commands with Unix pipes (jq, grep) for filtering and transformation
- Manage cloud infrastructure from Claude Desktop, Claude Code, or Cursor
- Run AWS operations in an isolated Docker container for added security
Security notes
Your IAM policy is your security boundary — the server executes whatever AWS commands Claude requests, and IAM controls what actually succeeds. Use a least-privilege IAM role, never use root credentials, and consider running via Docker for additional host isolation. A sandbox mode (AWS_MCP_SANDBOX) is available.
AWS MCP Server FAQ
How does it control what AWS actions Claude can take?
Your IAM policy is the security boundary. The server executes whatever AWS commands Claude requests, but IAM controls what actually succeeds. Use a least-privilege role and never use root credentials.
Which transports are supported?
stdio (default), streamable-http for web-based MCP clients, and a deprecated sse transport. Set the transport via the AWS_MCP_TRANSPORT environment variable.
How are AWS credentials provided?
Via the standard AWS credential chain: environment variables, ~/.aws/credentials, ~/.aws/config (profiles and region), or an IAM role when running on EC2, ECS, or Lambda. Set AWS_PROFILE to use a specific profile.
Can I run it in Docker?
Yes. The README provides a Docker config that mounts ~/.aws read-only into the ghcr.io/alexei-led/aws-mcp-server container, providing stronger isolation than running directly on the host.
Alternatives to AWS MCP Server
Compare all alternatives →GitHub's official server for repos, issues, PRs, and Actions — local Docker or hosted remote.
Official AWS Labs server that lets agents call any AWS API via the AWS CLI surface.
Bulk Kubernetes port forwarding with an MCP server that lets AI assistants forward services, inspect pods, and monitor traffic.
Compare AWS MCP Server with: