Skip to main content

MCP proxy server with AWS SigV4 authentication and OAuth support

Project description

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

Project details


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.

Supported by

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