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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_proxy_sigv4-0.1.2.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_proxy_sigv4-0.1.2-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file mcp_proxy_sigv4-0.1.2.tar.gz.

File metadata

  • Download URL: mcp_proxy_sigv4-0.1.2.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_proxy_sigv4-0.1.2.tar.gz
Algorithm Hash digest
SHA256 362d992b88e0efb7a2307e90d2bdc6b72549066dcbbe635d31823c12a537e1f3
MD5 2e7bd3b64bcef053a3bbbf23f55029d3
BLAKE2b-256 bc3139e5f593bf8f99e449fa74e4a0eb43262afde99a594d8e043868ce94db77

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_proxy_sigv4-0.1.2.tar.gz:

Publisher: publish.yml on jiapingzeng/mcp-proxy-sigv4

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_proxy_sigv4-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_proxy_sigv4-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f97f8bc75fe32a2b924e4b371c9170eafd70a5db696cdbe0e971bcc8d7eee94
MD5 9d806981007cdd5d3fa99d29c3297f2c
BLAKE2b-256 97f0251622592a68a052ccaa0e780049e440672e59674a9a46ff5eca7972eb0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_proxy_sigv4-0.1.2-py3-none-any.whl:

Publisher: publish.yml on jiapingzeng/mcp-proxy-sigv4

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page