MCP Proxy SigV4
A Model Context Protocol (MCP) proxy server with AWS SigV4 and OAuth JWT authentication support, allowing you to connect to remote MCP servers.
Example MCP configuration
Add to your MCP configuration:
{
"mcpServers": {
"remote-sigv4-mcp-server": {
"command": "uvx",
"args": [
"mcp-proxy-sigv4",
"--endpoint",
"https://sigv4-mcp.example.com/mcp",
"--aws-service",
"bedrock-agentcore",
"--aws-region",
"us-east-1"
]
},
"oauth-mcp-server": {
"command": "uvx",
"args": [
"mcp-proxy-sigv4",
"--endpoint",
"https://oauth-mcp.example.com/mcp",
"--bearer-token",
"your-token-here"
]
}
}
}
Architecture
MCP Client (e.g., Claude Desktop)
↓ (stdio)
mcp-proxy-sigv4 (Local Proxy)
↓ (HTTPS + SigV4 / OAuth)
Remote MCP Server (Bedrock AgentCore, Lambda, etc.)
Installation
Using uvx (Recommended)
uvx mcp-proxy-sigv4 --endpoint https://api.example.com/mcp
Using pip
pip install mcp-proxy-sigv4
mcp-proxy-sigv4 --endpoint https://api.example.com/mcp
Development Installation
# Create venv and install dependencies
git clone https://github.com/jiapingzeng/mcp-proxy-sigv4
uv venv
source .venv/bin/activate
uv sync
# Run proxy
cd src
uv run python -m src.mcp_proxy_sigv4 --help
Usage
Basic Usage
Connect to a remote MCP server with default AWS SigV4 authentication (using Bedrock AgentCore as an example):
uvx mcp-proxy-sigv4 \\
--endpoint https://api.example.com/mcp \\
--aws-region us-east-1 \\
--aws-service bedrock-agentcore
OAuth JWT Bearer Token Authentication
Connect using a JWT bearer token via CLI option:
uvx mcp-proxy-sigv4 \\
--endpoint https://api.example.com/mcp \\
--bearer-token "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Or use the BEARER_TOKEN environment variable:
export BEARER_TOKEN="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
uvx mcp-proxy-sigv4 --endpoint https://api.example.com/mcp
Without Authentication
For testing with servers that don't require authentication:
uvx mcp-proxy-sigv4 \\
--endpoint http://localhost:8000/mcp \\
--no-auth
Verbose Logging
Enable detailed logging for debugging:
uvx mcp-proxy-sigv4 \\
--endpoint https://api.example.com/mcp \\
--verbose
Command Line Options
--endpoint(required): Remote MCP server endpoint URL--bearer-token: OAuth JWT bearer token for authentication (alternative to AWS SigV4)--aws-region: AWS region for SigV4 authentication (default: us-east-1)--aws-service: AWS service name for SigV4 authentication (default: execute-api)--aws-profile: AWS profile to use for credentials (optional)--no-auth: Disable authentication (no signing or bearer token)--timeout: Request timeout in seconds (default: 30.0)--verbose: Enable verbose logging
Metadata
Release files for mcp-proxy-sigv4 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_proxy_sigv4-0.1.2.tar.gz | 6.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_proxy_sigv4-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.8 kB
Release files / mcp_proxy_sigv4-0.1.2.tar.gz
| Download URL | mcp_proxy_sigv4-0.1.2.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
362d992b88e0efb7a2307e90d2bdc6b72549066dcbbe635d31823c12a537e1f3
|
|
BLAKE2b-256 checksum How to use checksums |
bc3139e5f593bf8f99e449fa74e4a0eb43262afde99a594d8e043868ce94db77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 6, 2025.
Transparency logRelease files / mcp_proxy_sigv4-0.1.2-py3-none-any.whl
| Download URL | mcp_proxy_sigv4-0.1.2-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5f97f8bc75fe32a2b924e4b371c9170eafd70a5db696cdbe0e971bcc8d7eee94
|
|
BLAKE2b-256 checksum How to use checksums |
97f0251622592a68a052ccaa0e780049e440672e59674a9a46ff5eca7972eb0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 6, 2025.
Transparency log