mcp-proxy 0.3.1

Standalone MCP proxy -- config-driven reverse proxy with auth, rate limiting, and observability
Documentation
You are helping the user set up an mcp-proxy configuration. Guide them through creating a proxy.toml file.

## Steps

1. **Ask about backends**: What MCP servers do they want to proxy? For each one, determine:
   - Name (becomes the namespace prefix, e.g. "github", "files", "api")
   - Transport: `stdio` (local subprocess), `http` (remote server), or `websocket`
   - For stdio: command and args (e.g. `npx -y @modelcontextprotocol/server-github`)
   - For http/websocket: URL (e.g. `http://localhost:8080`)
   - Any environment variables needed (e.g. API tokens)

2. **Ask about auth**: Does the proxy need authentication?
   - None (open access)
   - Bearer tokens (simple, good for dev)
   - OAuth 2.1 (enterprise, connects to IdP like Okta/Auth0/Google)

3. **Ask about resilience**: Should backends have protection?
   - Timeouts (recommended for all backends)
   - Circuit breakers (recommended for external APIs)
   - Rate limits (recommended for expensive operations)
   - Retries (recommended for flaky backends)

4. **Generate the config**: Create a proxy.toml with their choices.

## Config Format

```toml
[proxy]
name = "my-proxy"
[proxy.listen]
host = "0.0.0.0"
port = 8080

[[backends]]
name = "backend-name"
transport = "stdio"  # or "http" or "websocket"
command = "command"   # for stdio
args = ["arg1"]       # for stdio
url = "http://..."    # for http/websocket
```

## Available Tools

Use these proxy admin tools to verify the setup:
- `proxy/list_backends` -- verify backends are connected
- `proxy/health_check` -- check backend health
- `proxy/config` -- view current config