MCP Directory

AWS API MCP Server

Official

Official AWS Labs server that lets agents call any AWS API via the AWS CLI surface.

Verified
stdio (local)
API key
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
uvx awslabs.aws-api-mcp-server@latest

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "aws-api-mcp-server": {
      "command": "uvx",
      "args": [
        "awslabs.aws-api-mcp-server@latest"
      ],
      "env": {
        "AWS_REGION": "us-east-1",
        "AWS_PROFILE": "<your-aws-profile>"
      }
    }
  }
}

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

  • Python 3.10 or newer (the uv/uvx toolchain is recommended for running it)
  • The AWS CLI behavior is provided by the package itself; no separate CLI install is strictly required, but a working AWS account is
  • AWS credentials configured via an AWS profile (set AWS_API_MCP_PROFILE_NAME) or standard AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_SESSION_TOKEN environment variables; the IAM principal's permissions determine what the agent can do
  • Optionally Docker, if you run the published ECR image instead of uvx/pip

About AWS API MCP Server

The AWS API MCP Server is an official AWS Labs server that gives AI agents programmatic access to the entire AWS CLI surface. Instead of wrapping a handful of services, it lets the model issue any aws ... command, validates it before execution, and returns the result — so coverage automatically tracks whatever the installed AWS CLI/botocore supports.

It is designed for both read-only exploration ("what EC2 instances are running in us-west-2?") and infrastructure changes ("create an S3 bucket"), with the actual blast radius governed by the IAM permissions of the credentials you provide. A suggest_aws_commands tool helps the model translate natural-language intent into the correct CLI invocation when it is unsure.

Security is delegated to AWS IAM plus a few guardrails: a READ_OPERATIONS_ONLY mode, optional mutation-consent prompts, and a working-directory sandbox for file access. Note that the server is single-tenant and runs with your local file-system permissions — it is not meant to be exposed as a shared multi-user service.

Tools & capabilities (3)

call_aws

Execute a validated AWS CLI command and return the result.

suggest_aws_commands

Suggest appropriate AWS CLI commands from a natural-language description.

get_execution_plan

Experimental: produce step-by-step agent-script guidance for complex multi-step AWS tasks (requires EXPERIMENTAL_AGENT_SCRIPTS=true).

When to use it

  • Use it when you want an agent to query AWS state across many services without writing a custom tool for each one
  • Use it when provisioning or modifying infrastructure (S3 buckets, EC2, IAM, etc.) through natural language
  • Use it when you need broad AWS coverage that automatically tracks new services and CLI features
  • Use it when you want a read-only auditing/troubleshooting assistant (set READ_OPERATIONS_ONLY=true)
  • Use it when you want IAM, not the tool, to be the source of truth for what the agent is allowed to touch

Quick setup

  1. 1Ensure Python 3.10+ and uv are installed
  2. 2Configure AWS credentials (an AWS profile or access-key environment variables) with the IAM permissions you want the agent to have
  3. 3Add the server to your MCP client config, running it with `uvx awslabs.aws-api-mcp-server@latest` (or pip install / the ECR Docker image)
  4. 4Set environment variables such as AWS_API_MCP_PROFILE_NAME and AWS_REGION; optionally enable READ_OPERATIONS_ONLY for safety
  5. 5Restart the MCP client and confirm the call_aws tool appears
  6. 6Verify by asking the agent to run a harmless read command, e.g. list S3 buckets or describe regions

Security notes

Executes real AWS API calls with your local credentials, so it can create, modify, or delete billable infrastructure; scope the IAM profile tightly and prefer read-only roles when exploring. Set AWS_REGION explicitly to avoid acting in an unintended region.

AWS API MCP Server FAQ

How do I authenticate it?

Provide AWS credentials the same way the AWS CLI does — either a named profile via AWS_API_MCP_PROFILE_NAME, or AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY (plus AWS_SESSION_TOKEN for temporary creds). If none are set explicitly it falls back to the standard boto3 credential chain.

Can I prevent it from changing my infrastructure?

Yes. Set READ_OPERATIONS_ONLY=true to restrict it to read-only calls, and/or use REQUIRE_MUTATION_CONSENT to gate write operations. The strongest control, though, is scoping the IAM permissions of the credentials you give it.

Which AWS services does it support?

Effectively all of them. Because it drives the AWS CLI surface rather than hardcoding services, coverage matches whatever your AWS CLI/botocore version supports.

Is it safe to expose to multiple users?

No. The server is single-tenant, runs with your local file-system permissions, and is not sandboxed for multi-user use. Run one instance per user.

How do I install it without uv?

It is published to PyPI as `awslabs.aws-api-mcp-server` (pip install) and as a Docker image on Amazon ECR Public, in addition to the recommended `uvx awslabs.aws-api-mcp-server@latest`.

Alternatives to AWS API MCP Server

Compare all alternatives →

GitHub's official server for repos, issues, PRs, and Actions — local Docker or hosted remote.

Featured
Verified
stdio (local)
API key
Go
7 tools
Updated 3 days agoRepo

Grafana's official server for dashboards, Prometheus/Loki queries, alerts, and incidents.

Verified
stdio (local)
API key
Go
18 tools
Updated 6 days agoRepo

HashiCorp's official server for Terraform Registry providers, modules, and IaC workflows.

Verified
stdio (local)
No auth
Go
12 tools
Updated 6 days agoRepo