Tools & MCP — Deployment¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Runtime model¶
| Concern | Choice |
|---|---|
| Deployment unit | ToolExecutorHost, one image from the microservice template; modules executor and MCP registry |
| Hosting | AKS, 2 to 16 replicas, scaled on invocation rate and pipeline overhead |
| Sandboxes | leased from Execution Capacity (BC-26): container and Kubernetes-job sandboxes in a separate node pool with network policy; microVMs and isolated Windows runners per profile; stdio MCP servers run inside sandboxes |
| Data | tools-sql (descriptors, invocations, leases, MCP registry); cache |
| Messaging | MessagingModel outbox and inbox; Orleans profile; ToolInvocationGrain |
| Identity | workload identity; per-attempt tokens validated; exposed MCP endpoint authenticated |
| Ingress | gRPC from runtime workers; GW-05 for IDE clients and partner MCP callers; GW-03 for Studio reads |
| Egress | Governance, Control plane, Runtime Cloud, Knowledge, Integration, consumed MCP servers through connections; sandboxes have their own allow-lists |
Topology by profile¶
flowchart LR
subgraph CS["ConnectSoft cloud, tenant region"]
TE["ToolExecutorHost"]
SB["Sandbox node pool<br/>containers, jobs"]
SQL["('tools-sql')"]
end
subgraph Cust["Customer network (hybrid)"]
TE2["ToolExecutorHost (hybrid)"]
SB2["Sandboxes next to repositories"]
end
TE --> SB
TE --> SQL
TE2 --> SB2
TE2 -- "private link" --> CP["ControlPlaneApi, GovernanceHost"]
| Profile | Executor placement |
|---|---|
| saas-default | ConnectSoft AKS with a dedicated sandbox node pool |
| hybrid | inside the customer's network next to repositories and tools; outbound-only to the Control plane; the customer's sandbox kinds |
| on-prem | customer cluster with the customer's sandbox kinds |
| hybrid-compute | as saas-default |
Scaling¶
| Signal | Action |
|---|---|
| pipeline overhead above target | add executor replicas |
| sandbox capacity below threshold | scale the sandbox node pool; queue within attempt budgets |
| long-running shell and build tools | separate pool for long leases; timeouts enforced by reminders |
| MCP handshake latency | registry probe concurrency per transport |
Configuration and secrets¶
Options sections Tools:Host, Tools:Mcp, Tools:Execution, Tools:Shell, Tools:Sandbox, Tools:McpRegistry. Store, transport and MCP signing secrets in Key Vault through workload identity; tool and connection credentials brokered per invocation; sandbox images signed and pinned.
Health and rollout¶
/tools/health with sandbox capacity and MCP server states; rolling updates stop claiming new invocations, let running ones finish or settle as Uncertain at the timeout, then stop; descriptor schema versions are additive.
NFR class and recovery¶
pilot-interactive (D30). tools-sql restores after the control store; receipts referenced by audit evidence are kept 7 years; open leases found after a restore are reaped and their invocations settled as Uncertain.