Plain-terms companion to integration-architecture.md: Automation Hub as the
internal action warehouse, Tool Hub as the smart front desk (progressive
disclosure + per-user permission filtering + audit) running as a central
service, and where the MCP Gateway (Arcade, per-user OAuth for outside tools)
and AI Gateway (config-only model toll booth) plug into existing seams.
Source-verified against servicetitan/tool-hub + automation-hub @ master.
Where the AI Gateway (LLM proxy) and MCP Gateway (Arcade) fit into the
Agent Platform -> Tool Hub -> Automation Hub stack without major work on
either app: AI Gateway = config repoint; Arcade = Tool Hub's existing
mcp_proxy adapter seam, with per-user OAuth living in Arcade. Includes
GitHub-renderable mermaid topology + sequence diagrams and a change-surface
table, grounded in tool-hub + automation-hub source reads.
Replace the cloudflared quick-tunnel dev pattern with a permanent in-cluster
deployment so the self-hosted Arcade engine reaches the echo/add/whoami reference
server over stable cluster DNS.
- lib/mcp_server/Dockerfile: python:3.12-slim, pip install ., HTTP transport via
ARCADE_SERVER_{TRANSPORT,HOST,PORT} env overrides (no server.py change needed),
non-root user, port 8000.
- .github/workflows/build-push-acr.yml: build + push
servicetitandev.azurecr.io/arcade-eval-ref:1.0.<run_number>. Adapted from
servicetitan/mem0; needs repo secrets ACR_DEV_USERNAME / ACR_DEV_PASSWORD.
- docs/superpowers/specs design record.
K8s manifests live in k8s-backstage-v2 apps/mcp/arcade-eval-ref/ (separate branch).
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>