feat(agiliton-account): per-customer LiteLLM MCP server provisioning

At first login, provisionMcpServer() creates a sitebridge-{customer_id}
entry in LiteLLM DB via POST /v1/mcp/server, pointing to the customer's
demux URL. The virtual key is then scoped to ["sitebridge-{customer_id}"]
so LiteLLM routes tool calls only to that customer's WebSocket.

Also adds AGILITON_ACCOUNT_URL config for self-referencing in MCP URLs.

CF-3032

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Christian Gick
2026-04-10 16:18:02 +03:00
parent 21780d3e45
commit 52c2e9eca5
3 changed files with 61 additions and 1 deletions

View File

@@ -19,6 +19,10 @@ JWT_EXPIRES_IN=7d
# AES-256-GCM encryption for LiteLLM virtual keys (64 hex chars = 32 bytes)
ENCRYPTION_KEY=changeme-generate-with-openssl-rand-hex-32
# Self-referencing URL used when registering per-customer MCP servers in LiteLLM
# LiteLLM calls this URL to forward tool calls to the right customer's WebSocket
AGILITON_ACCOUNT_URL=http://agiliton-account:4100
# LiteLLM
LITELLM_URL=http://litellm:4000
LITELLM_MASTER_KEY=sk-litellm-master-key