Registry / aws / mcp-proxy-for-aws

mcp-proxy-for-aws

JSON →
library1.6.1pypypi✓ verified 80d ago

The MCP Proxy for AWS is a Python library that serves as a lightweight, client-side bridge between Model Context Protocol (MCP) clients (such as AI assistants and developer tools) and IAM-secured MCP servers on AWS. It handles SigV4 authentication using local AWS credentials and provides dynamic tool discovery. The library is currently at version 1.3.0 and is actively maintained, with updates released as needed to support AWS services and the MCP specification.

pip install mcp-proxy-for-aws
INSTALL
IMPORT
SIG · MCP-PROXY-FOR-AWS
M
mcp-proxy-for-aws
awspythonv1.6.1
Install
14.7s avg
Import
Disk
160MB
Pass rate
8/ 10
Env Coverage8 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.6.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✓ —
✓ 17.28s
py 3.11
✓ —
✓ 15.98s
py 3.12
✓ —
✓ 12.88s
py 3.13
✓ —
✓ 12.78s
py 3.9
✕ build_error
✕ build_error
160MB installed
● package 160MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

McpProxy
import mcp_proxy_for_aws
from mcp_proxy_for_aws import McpProxy

This quickstart demonstrates how to programmatically initialize the `McpProxy` client. It assumes AWS credentials (e.g., `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_REGION`) and the `MCP_ENDPOINT_URL` environment variable are set. The client handles SigV4 authentication automatically using the default boto3 credential chain.

import os from mcp_proxy_for_aws.mcp_proxy import McpProxy # Ensure AWS credentials and region are configured (e.g., via environment variables or ~/.aws/credentials) # For programmatic use, you might explicitly pass them, but for quickstart, rely on boto3's default chain. aws_region = os.environ.get('AWS_REGION', 'us-east-1') mcp_endpoint_url = os.environ.get('MCP_ENDPOINT_URL', 'https://your-mcp-server.amazonaws.com/mcp') try: # Initialize the MCP Proxy client proxy_client = McpProxy(endpoint=mcp_endpoint_url, region=aws_region) print(f"Initialized MCP Proxy for endpoint: {mcp_endpoint_url}") # Example: Discover tools (this would typically involve calling a method that hits the MCP server) # Note: The actual method for tool discovery might vary based on the MCP server implementation. # This is a placeholder for demonstrating client initialization. print("Attempting to discover tools (requires a live MCP server)...") # In a real scenario, you'd call methods like proxy_client.discover_tools() if available # or integrate with an AI agent framework. print("MCP Proxy client initialized successfully. Ready for agent integration.") except Exception as e: print(f"Error initializing MCP Proxy: {e}") print("Please ensure 'MCP_ENDPOINT_URL' and AWS credentials/region are correctly configured.")
Debug
Known issues
gotchaAWS credentials and region must be correctly configured. The proxy uses the standard boto3 credential chain (environment variables, shared credentials file, EC2 instance profiles, etc.). If not found, authentication will fail.
fix
Ensure `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and `AWS_REGION` environment variables are set, or an AWS CLI profile is configured. For programmatic use with explicit credentials, ensure `aws_region` is always provided.
affects: All versions
gotchaWhen using `mcp-proxy-for-aws` as a command-line tool, the `--region` argument defaults to `us-east-1` if not explicitly specified or inferred from environment variables. This can lead to connection issues if your MCP server is in a different region and `--region` is not set.
fix
Always explicitly specify the `--region` parameter or ensure the `AWS_REGION` environment variable is set to match your MCP server's region when running the proxy via `uvx` or `python -m`.
affects: All versions
deprecatedThe `awslabs.core-mcp-server` is deprecated. Its proxy/orchestration pattern is no longer necessary as modern MCP clients support multi-server configurations natively. This is distinct from `mcp-proxy-for-aws` but related in the MCP ecosystem, and users might confuse them.
fix
If you were using `awslabs.core-mcp-server`, migrate to configuring individual MCP servers directly within your client. `mcp-proxy-for-aws` remains active for its specific purpose of SigV4 authentication.
affects: awslabs.core-mcp-server versions <= March 27, 2026
Upgrade
Version history
1.6.1latest on PyPI · released Jun 12, 2026
Audit
Dependencies
fastmcprequiredCore MCP server framework.
boto3requiredAWS SDK for Python, used for credential handling and AWS service interaction.
botocorerequiredLow-level interface to AWS, a dependency of boto3.
Agent activity
9 hits · last 30 days
node
8
OpenAI (training)
1
Resources
mcp-proxy-for-aws — pip install mcp-proxy-for-aws · libregistry