Skip to main content

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)

Source distribution for mcp-proxy-sigv4 0.1.2
File Size Uploaded
mcp_proxy_sigv4-0.1.2.tar.gz 6.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-proxy-sigv4 0.1.2
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page