This skill should be used when the user says "add proxy config", "create reverse proxy", "SWAG config", "nginx proxy", "expose service", "proxy configuration", "subdomain config", "subfolder config", "configure SWAG", "list proxy configs", "view proxy config", "edit proxy config", "remove proxy config", "check proxy health", "SWAG logs", "add domain", "configure SSL", "proxy a service", or mentions SWAG, reverse proxy, nginx configuration, or making a service accessible via domain.
From swag-mcpnpx claudepluginhub jmagar/claude-homelab --plugin swag-mcpThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
MCP mode (preferred): Use when mcp__swag-mcp__swag tool is available. The server manages nginx proxy configuration files directly (local or remote via SSH).
HTTP fallback: No meaningful curl equivalent — SWAG config management requires direct filesystem access. If MCP server is unavailable, surface the issue to the user and suggest restarting it.
MCP URL: ${user_config.swag_mcp_url}
Single tool: mcp__swag-mcp__swag with an action parameter.
mcp__swag-mcp__swag
action: "list"
Returns all proxy configurations with their status (enabled/disabled).
mcp__swag-mcp__swag
action: "create"
server_name: (required) Service name, e.g. "jellyfin", "sonarr"
type: (required) "subdomain" or "subfolder"
upstream_url: (required) Backend URL, e.g. "http://192.168.1.10:8096"
auth_method: (optional) "authelia", "authentik", "basic", "none" — default from server config
enable_quic: (optional) true/false
mcp__swag-mcp__swag
action: "view"
server_name: (required) Service name
mcp__swag-mcp__swag
action: "edit"
server_name: (required) Service name
changes: (required) Description of changes to apply
mcp__swag-mcp__swag
action: "update"
server_name: (required) Service name
upstream_url: (required) New backend URL
mcp__swag-mcp__swag
action: "remove"
server_name: (required) Service name
DESTRUCTIVE — removes the nginx config file. Always confirm with user before executing.
mcp__swag-mcp__swag
action: "logs"
log_type: (optional) "access", "error", "fail2ban", "letsencrypt" — default "error"
mcp__swag-mcp__swag
action: "backups"
Lists available configuration backups.
mcp__swag-mcp__swag
action: "health_check"
server_name: (optional) Check specific service — omit for all
Probes whether proxied services are accessible.
action: "list" — confirm no existing config for the serviceaction: "create" — create the config with upstream URL and auth methodaction: "health_check" — verify the service is accessibleaction: "view" — confirm current configaction: "update" — set new upstream URLaction: "health_check" — verifyaction: "health_check" — check what's failingaction: "logs" — review error/access logsAlways confirm before:
action: "remove" — permanently deletes the proxy configaction: "edit" — modifies existing config (non-reversible without backup)The server manages configs at the path configured via SWAG_MCP_PROXY_CONFS_PATH or the SSH URI in SWAG_MCP_PROXY_CONFS_URI. These are set via userConfig and synced to .env at SessionStart — no manual configuration needed.
subdomain configs require a wildcard DNS entry or per-subdomain record pointing to SWAGsubfolder configs proxy via path prefix (e.g. https://domain.com/sonarr/)authelia and authentik require those services to be running and configured