Skip to main content

MCP proxy that connects Claude Desktop/Code to the OPUS Operator platform

Project description

opus-mcp-proxy

MCP proxy that connects Claude Desktop and Claude Code to the OPUS Operator platform. Tenants authenticate with an API key and get access to operator tools — no IAM credentials, no AWS setup required.

Connection Methods

There are three ways to connect, from most seamless to most portable:

Method 1: Claude Code — Remote HTTP (recommended)

Zero install. Claude Code natively supports remote MCP servers over Streamable HTTP:

claude mcp add --transport http opus-operator https://main.d1nrdsq2gd55ub.amplifyapp.com/api/mcp

Or add to your project's .mcp.json:

{
  "mcpServers": {
    "opus-operator": {
      "type": "http",
      "url": "https://main.d1nrdsq2gd55ub.amplifyapp.com/api/mcp",
      "headers": {
        "Authorization": "Bearer opus_k_..."
      }
    }
  }
}

Method 2: Claude Desktop — Custom Connector (recommended)

Zero install, zero config files. Claude Desktop connects via the Connectors UI:

  1. Open Claude Desktop
  2. Go to Settings → Connectors → Add custom connector
  3. Paste the MCP endpoint URL: https://main.d1nrdsq2gd55ub.amplifyapp.com/api/mcp
  4. Add your API key as the Bearer token when prompted
  5. Save and start a new chat

This works because the control plane speaks full MCP Streamable HTTP transport. Anthropic's cloud connects directly to the endpoint.

Method 3: Local stdio proxy via uvx (fallback)

For environments where remote connections are blocked (private networks, firewalls, air-gapped systems), or older Claude Desktop versions without Custom Connector support:

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "opus-operator": {
      "command": "uvx",
      "args": ["opus-mcp-proxy@latest"],
      "env": {
        "OPUS_API_KEY": "opus_k_...",
        "OPUS_CONTROL_PLANE_URL": "https://main.d1nrdsq2gd55ub.amplifyapp.com"
      }
    }
  }
}

Claude Code (if HTTP transport unavailable):

{
  "mcpServers": {
    "opus-operator": {
      "command": "uvx",
      "args": ["opus-mcp-proxy@latest"],
      "env": {
        "OPUS_API_KEY": "opus_k_...",
        "OPUS_CONTROL_PLANE_URL": "https://main.d1nrdsq2gd55ub.amplifyapp.com"
      }
    }
  }
}

Environment Variables (Method 3 only)

Variable Required Default Description
OPUS_API_KEY Yes Your tenant API key from the Connect page
OPUS_CONTROL_PLANE_URL No http://localhost:3100 URL of the OPUS control plane

Getting an API Key

  1. Log into the OPUS control plane dashboard
  2. Navigate to the Connect page
  3. Click Generate API Key
  4. Copy the key (starts with opus_k_) into your config

Verifying It Works

After configuring your client:

  1. Restart Claude Desktop (or reload MCP servers in Claude Code)
  2. Start a new conversation
  3. Ask: "What tools do you have?"
  4. Claude should list the OPUS Operator tools available to your tenant

You can also verify the local proxy installation:

opus-mcp-proxy --version

Which Method Should I Use?

Scenario Method
Claude Code (any version) Method 1 — Remote HTTP
Claude Desktop (current) Method 2 — Custom Connector
Behind corporate firewall Method 3 — uvx local proxy
No Node.js or Python installed Method 2 — Custom Connector
Older Claude Desktop (pre-Connectors) Method 3 — uvx local proxy
Air-gapped / offline network Method 3 — uvx local proxy

Troubleshooting

"ERROR: OPUS_API_KEY not set" (Method 3)

The proxy starts without a key (graceful degradation) but requests will fail. Make sure OPUS_API_KEY is set in your config's env block.

"HTTP 401: Unauthorized"

Your API key is invalid or expired. Generate a new one from the Connect page.

"HTTP 403: Forbidden"

Your tenant doesn't have access to the requested tool. Contact your admin to check permissions.

Connection refused / timeout

  • Verify the control plane URL is correct and reachable
  • Check your network connection and any VPN/proxy settings
  • For Custom Connectors: the URL must be publicly reachable (no localhost)
  • For uvx: ensure Python 3.10+ is installed

Claude doesn't show any tools

  • Ensure the MCP server name matches exactly
  • Check Claude Desktop/Code logs for MCP connection errors
  • Restart the client after config changes
  • For Custom Connectors: verify TLS certificate is valid (no self-signed)

Development

cd mcp-proxy
pip install -e .
OPUS_API_KEY=test OPUS_CONTROL_PLANE_URL=http://localhost:3100 opus-mcp-proxy --version

License

MIT — see LICENSE.

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

opus_mcp_proxy-0.1.0.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.

opus_mcp_proxy-0.1.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file opus_mcp_proxy-0.1.0.tar.gz.

File metadata

  • Download URL: opus_mcp_proxy-0.1.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for opus_mcp_proxy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1bfc737e91a3e59f3c1bd5003a2e24061382809ca3b11557179a512884573474
MD5 ad73097222da4ac56f4782b8a77581ba
BLAKE2b-256 d24a3941694696603a4bf884c3dd0b01014bfbddcd38e7026fbaa3114dd97e02

See more details on using hashes here.

File details

Details for the file opus_mcp_proxy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: opus_mcp_proxy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for opus_mcp_proxy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb5aacefd4d97992b8877a85874d2c581561b81b5e0b51ad66aa1f64b6f12b6d
MD5 5b7bde4e69bb901b20a80d96d4390e02
BLAKE2b-256 27f2b8042ebe2cf6d6c9cce174463b3b316667cc996373953e34f4d10b8dacfe

See more details on using hashes here.

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