mcp-proxy-sigv4


Namemcp-proxy-sigv4 JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryMCP proxy server with AWS SigV4 authentication and OAuth support
upload_time2025-10-07 08:19:00
maintainerNone
docs_urlNone
authorJiaping Zeng
requires_python>=3.10
licenseMIT
keywords aws mcp oauth proxy sigv4
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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:

```json
{
  "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)

```bash
uvx mcp-proxy-sigv4 --endpoint https://api.example.com/mcp
```

### Using pip

```bash
pip install mcp-proxy-sigv4
mcp-proxy-sigv4 --endpoint https://api.example.com/mcp
```

### Development Installation

```bash
# 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):

```bash
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:

```bash
uvx mcp-proxy-sigv4 \\
    --endpoint https://api.example.com/mcp \\
    --bearer-token "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
```

Or use the `BEARER_TOKEN` environment variable:

```bash
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:

```bash
uvx mcp-proxy-sigv4 \\
    --endpoint http://localhost:8000/mcp \\
    --no-auth
```

### Verbose Logging

Enable detailed logging for debugging:

```bash
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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mcp-proxy-sigv4",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "aws, mcp, oauth, proxy, sigv4",
    "author": "Jiaping Zeng",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/f5/d4/0936df11646448fcdf9b4b251ea363af3d1948d9843acdb73aa93d0f89c7/mcp_proxy_sigv4-0.1.1.tar.gz",
    "platform": null,
    "description": "# MCP Proxy SigV4\n\nA Model Context Protocol (MCP) proxy server with AWS SigV4 and OAuth JWT authentication support, allowing you to connect to remote MCP servers.\n\n## Example MCP configuration\n\nAdd to your MCP configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"remote-sigv4-mcp-server\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"mcp-proxy-sigv4\",\n        \"--endpoint\",\n        \"https://sigv4-mcp.example.com/mcp\",\n        \"--aws-service\",\n        \"bedrock-agentcore\",\n        \"--aws-region\",\n        \"us-east-1\"\n      ]\n    },\n    \"oauth-mcp-server\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"mcp-proxy-sigv4\",\n        \"--endpoint\",\n        \"https://oauth-mcp.example.com/mcp\",\n        \"--bearer-token\",\n        \"your-token-here\"\n      ]\n    }\n  }\n}\n```\n\n## Architecture\n\n```\nMCP Client (e.g., Claude Desktop)\n            \u2193 (stdio)\n    mcp-proxy-sigv4 (Local Proxy)\n            \u2193 (HTTPS + SigV4 / OAuth)\n    Remote MCP Server (Bedrock AgentCore, Lambda, etc.)\n```\n\n## Installation\n\n### Using uvx (Recommended)\n\n```bash\nuvx mcp-proxy-sigv4 --endpoint https://api.example.com/mcp\n```\n\n### Using pip\n\n```bash\npip install mcp-proxy-sigv4\nmcp-proxy-sigv4 --endpoint https://api.example.com/mcp\n```\n\n### Development Installation\n\n```bash\n# Create venv and install dependencies\ngit clone https://github.com/jiapingzeng/mcp-proxy-sigv4\nuv venv\nsource .venv/bin/activate\nuv sync\n\n# Run proxy\ncd src\nuv run python -m src.mcp_proxy_sigv4 --help\n```\n\n## Usage\n\n### Basic Usage\n\nConnect to a remote MCP server with default AWS SigV4 authentication (using Bedrock AgentCore as an example):\n\n```bash\nuvx mcp-proxy-sigv4 \\\\\n    --endpoint https://api.example.com/mcp \\\\\n    --aws-region us-east-1 \\\\\n    --aws-service bedrock-agentcore\n```\n\n### OAuth JWT Bearer Token Authentication\n\nConnect using a JWT bearer token via CLI option:\n\n```bash\nuvx mcp-proxy-sigv4 \\\\\n    --endpoint https://api.example.com/mcp \\\\\n    --bearer-token \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\"\n```\n\nOr use the `BEARER_TOKEN` environment variable:\n\n```bash\nexport BEARER_TOKEN=\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\"\nuvx mcp-proxy-sigv4 --endpoint https://api.example.com/mcp\n```\n\n### Without Authentication\n\nFor testing with servers that don't require authentication:\n\n```bash\nuvx mcp-proxy-sigv4 \\\\\n    --endpoint http://localhost:8000/mcp \\\\\n    --no-auth\n```\n\n### Verbose Logging\n\nEnable detailed logging for debugging:\n\n```bash\nuvx mcp-proxy-sigv4 \\\\\n    --endpoint https://api.example.com/mcp \\\\\n    --verbose\n```\n\n## Command Line Options\n\n- `--endpoint` (required): Remote MCP server endpoint URL\n- `--bearer-token`: OAuth JWT bearer token for authentication (alternative to AWS SigV4)\n- `--aws-region`: AWS region for SigV4 authentication (default: us-east-1)\n- `--aws-service`: AWS service name for SigV4 authentication (default: execute-api)\n- `--aws-profile`: AWS profile to use for credentials (optional)\n- `--no-auth`: Disable authentication (no signing or bearer token)\n- `--timeout`: Request timeout in seconds (default: 30.0)\n- `--verbose`: Enable verbose logging\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "MCP proxy server with AWS SigV4 authentication and OAuth support",
    "version": "0.1.1",
    "project_urls": null,
    "split_keywords": [
        "aws",
        " mcp",
        " oauth",
        " proxy",
        " sigv4"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0b6f3a716c1fbcefdf471192b88657246cbc5fb263d5ed42e15d6d6518a475e7",
                "md5": "22d6346f900aa97c15056e6eca57dd58",
                "sha256": "15489d632c8265f55b53034b3800b7f7393ffdb7ff08f23ffc3d1ea25a34ab74"
            },
            "downloads": -1,
            "filename": "mcp_proxy_sigv4-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "22d6346f900aa97c15056e6eca57dd58",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 7846,
            "upload_time": "2025-10-07T08:18:59",
            "upload_time_iso_8601": "2025-10-07T08:18:59.447178Z",
            "url": "https://files.pythonhosted.org/packages/0b/6f/3a716c1fbcefdf471192b88657246cbc5fb263d5ed42e15d6d6518a475e7/mcp_proxy_sigv4-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f5d40936df11646448fcdf9b4b251ea363af3d1948d9843acdb73aa93d0f89c7",
                "md5": "faac4263fa72e2a83e77fa1ca457c841",
                "sha256": "6fdb570197a9b7dd2e066be440defefe3ff0efc5342a0effd294f23340bfbe8e"
            },
            "downloads": -1,
            "filename": "mcp_proxy_sigv4-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "faac4263fa72e2a83e77fa1ca457c841",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 5988,
            "upload_time": "2025-10-07T08:19:00",
            "upload_time_iso_8601": "2025-10-07T08:19:00.802058Z",
            "url": "https://files.pythonhosted.org/packages/f5/d4/0936df11646448fcdf9b4b251ea363af3d1948d9843acdb73aa93d0f89c7/mcp_proxy_sigv4-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-07 08:19:00",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "mcp-proxy-sigv4"
}
        
Elapsed time: 0.87995s