# AWS MCP Server [Official] [Health: Active]

**Category:** ☁️ Cloud Platforms  
**Repository:** https://github.com/aws/mcp-proxy-for-aws  
**GitHub Stars:** 371  
**Views:** 5  
**Installs:** 1  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/aws-mcp-server-2

## Description
AWS MCP Server lets AI securely access AWS using docs, API calls, and SOP workflows.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "aws-mcp-server": {
    "command": "uvx",
    "args": ["mcp-proxy-for-aws-cli@latest"]
  }
}
```

## Documentation

## What AWS MCP Server does

AWS MCP Server connects MCP clients and agent applications to MCP servers on AWS that require AWS IAM authentication. It addresses clients and frameworks that support MCP but do not natively sign requests with AWS Signature Version 4 (SigV4).

The package has two distributions for different uses. `mcp-proxy-for-aws-cli` provides the command-line proxy, while `mcp-proxy-for-aws` is the library package for importing `mcp_proxy_for_aws` into Python applications. Both are intended for connecting to AWS-hosted MCP endpoints rather than providing a fixed collection of AWS service tools themselves.

## How it works

In proxy mode, the process runs as a client-side bridge between an MCP client and a specified MCP endpoint. It obtains credentials through the local AWS credential chain, including AWS CLI configuration, environment variables, or IAM roles, and signs requests with SigV4 before sending them to the upstream server.

The proxy can discover tools exposed by the upstream MCP server and pass those capabilities to the connected MCP client. Multiple AWS profiles can be configured, allowing calls to select a profile through the `aws_profile` tool parameter. Library mode exposes the connection flow to Python-based agent applications and gives application code control over the MCP session lifecycle.

## Setup and configuration

The runtime prerequisites are Python 3.11 or newer, the `uv` package manager, and configured AWS credentials. Docker can be used instead when a container-based deployment is preferred.

Run the pinned CLI distribution with an endpoint URL:

```bash
uvx mcp-proxy-for-aws-cli@latest <SigV4 MCP endpoint URL>
```

A local checkout can be started with `uv run`, and prebuilt container images are available from the public AWS ECR registry. The endpoint is required. Optional settings include the AWS service name, one or more AWS profiles, region, injected metadata, additional HTTP headers, read-only mode, and retry count.

The service name can be inferred from the endpoint URL. Region selection uses the command-line value first and otherwise the `AWS_REGION` environment variable. If no explicit profile options are supplied, the proxy falls back to `AWS_PROFILE` or the configured AWS credential chain. Custom headers are included in the SigV4-covered request and are redacted from logs; signing-related headers cannot be supplied manually.

## Tools and capabilities

- Signs upstream MCP requests with AWS SigV4.
- Discovers tools exposed by the connected MCP server.
- Connects clients such as Claude Desktop and Kiro CLI to IAM-secured AWS endpoints.
- Selects among configured AWS profiles using the `aws_profile` parameter.
- Injects request metadata and signed custom HTTP headers.
- Disables tools that are not marked with `readOnlyHint=true` when read-only mode is enabled.
- Retries upstream calls when a retry count is configured.
- Provides a Python library for LangChain, LlamaIndex, Strands Agents, and similar frameworks.

## Limitations and notes

The proxy requires a reachable MCP endpoint and AWS credentials with permission to access it. The upstream server determines which tools are available; the proxy does not define a universal AWS tool catalog.

The CLI distribution is intended for `uvx` and command-line use and pins its dependency tree. The library distribution uses flexible dependency ranges so it can resolve alongside application dependencies. The first `uvx` launch may take longer while dependencies are downloaded and cached; later launches use the cache. Setting retries to zero disables retry attempts.

_Full upstream README: https://allmcps.com/mcp/aws-mcp-server-2/readme_

