MCP Proxy for AWS
A local bridge from an MCP client to IAM-protected MCP servers on AWS: it signs requests with SigV4 using your AWS credentials
- 370 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- The proxy signs requests with your AWS credentials, so the agent acts with the rights of the chosen IAM role
- Tools of the remote server can change resources in the account unless `--read-only` is on
- With several profiles the agent picks the account itself through the `aws_profile` parameter
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/mcp-proxy-for-awsDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The proxy signs requests with your AWS credentials, so the agent acts with the rights of the chosen IAM role
- Tools of the remote server can change resources in the account unless `--read-only` is on
- With several profiles the agent picks the account itself through the `aws_profile` parameter
This is third-party code. Review the repository files before installing.
What it does
MCP Proxy for AWS runs on your machine as a stdio server and forwards the agent's calls to remote MCP servers on AWS. Such servers, for example on Amazon Bedrock AgentCore, are protected by IAM, while common MCP clients only know OAuth. The proxy signs every request with SigV4 using credentials from the AWS CLI, environment variables or an IAM role. The endpoint URL is the first argument. The proxy infers the service name for signing from the URL, and the `--service` flag sets it when needed. It discovers the remote server's tools dynamically, so the agent always sees the current list. The `--read-only` flag hides tools that need write permissions. Several AWS profiles can be attached to one server: the first is the default and the agent picks the others with the `aws_profile` parameter in a separate call. The same code works as a Python library for LangChain, LlamaIndex and Strands Agents.
Who it is for. AWS engineers whose MCP server requires SigV4 signing while Claude Desktop or Kiro CLI cannot sign requests.
Good fit when
- An MCP server on AWS requires a SigV4 signature and your client only speaks OAuth
- An agent works across several AWS accounts without a restart: the `prod-readonly`, `dev` and `staging` profiles switch through a call parameter
- An agent should stay read-only and the tools that write have to be hidden
- A Python agent on LangChain, LlamaIndex or Strands reaches an AWS MCP server from code
- You would rather not write your own request signing
Not a fit when
- The server accepts OAuth or needs no authorization: the proxy adds nothing
- You need ready-made tools for AWS services: the proxy has none of its own and only connects to other servers
- The machine has no AWS credentials, so there is nothing to sign requests with
Example request
List the tools of the AWS MCP server and call the ones that only read data, using the prod-readonly profileMCP
- Transport
- stdio
- Authentication
- key is optional
Environment variables
AWS_PROFILE- AWS profile with credentials
AWS_REGION- AWS region
AWS_ACCESS_KEY_IDsecret- AWS access key when there is no profile
AWS_SECRET_ACCESS_KEYsecret- AWS secret key when there is no profile
AWS_MCP_PROXY_PROFILES- Space-separated list of switchable profiles
Limitations
You need Python 3.11 or newer, the `uv` package manager and configured AWS credentials. Docker is only needed when you run from the image.
If an `aws login` profile has no region, the client shows `-32602: Invalid request parameters`, which hides a NoRegionError. Set the region with `aws configure set region`.
The tools and their permissions come from the chosen server and your IAM role: the proxy does not limit them, apart from the `--read-only` mode. The `--disable-telemetry` flag turns off telemetry collection.
How to disable. Remove the server entry from the MCP client config, for example `~/.kiro/settings/mcp.json`, and restart the client.
FAQ
What does MCP Proxy for AWS do?
It signs the agent's requests with SigV4 and forwards them to an MCP server on AWS. A client such as Claude Desktop or Kiro CLI connects to the proxy like to an ordinary local server.
How do I run the proxy?
Run `uvx mcp-proxy-for-aws-cli@latest <endpoint URL>`. In a client config the same command goes into the `mcpServers` section.
How is the mcp-proxy-for-aws-cli package different from mcp-proxy-for-aws?
Use `mcp-proxy-for-aws-cli` to run the proxy: its dependencies are pinned to tested versions. `mcp-proxy-for-aws` is the library, with loose version ranges that resolve alongside your project's dependencies.
How do I keep the agent read-only?
Add the `--read-only` flag. The server marks safe tools with `readOnlyHint=true` and the proxy hides the rest from the agent.
How do I work with several AWS accounts?
List the profiles in the `--profile` flag or the `AWS_MCP_PROXY_PROFILES` variable, for example `prod-readonly dev staging`. The first profile is the default and the agent selects others with the `aws_profile` parameter.
Discussion
No questions or reviews yet.
Related
MCP serversAWS's official MCP server suite: docs, IaC, containers, serverless, databases, cost and monitoring
AWS's official set of MCP servers, skills and plugins so an agent can build, deploy and operate on AWS
A proxy between MCP transports: connects stdio clients to remote SSE and HTTP servers and exposes local servers over the network
A self-hosted gateway that merges several MCP servers into one endpoint with auth and tool selection
An MCP server and CLI from AWS that builds baseline IAM policies from application code or a Terraform plan and resolves AccessDenied errors
An agent searches AWS CloudWatch logs, summarizes activity and correlates events across services.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| MCP Proxy for AWS (this card) | yes | key is optional | 370 | |
| Open source MCP servers for AWS | yes | key is optional | 9,887 | ready MCP servers for separate AWS services, while the proxy only connects a client to IAM-protected servers |
| Agent Toolkit for AWS | no | 3,416 | a set of servers, skills and plugins for working with AWS, while the proxy solves one task: request signing |
README in short
The README splits the project into two scenarios: a proxy for clients such as Claude Desktop and Kiro CLI, and a library for Python agents. It then covers installation (PyPI, a local checkout, Docker), a parameter table, environment variables and config examples.