Documentation Configuration
On this page

Configuration

Every setting here is operator-controlled and read from the environment at startup. None of it is reachable from caller input or model output — that separation is the point, not an implementation detail.

Configuration is validated at startup and fails closed. A feature enabled without its backing store does not degrade quietly; the server refuses to start and tells you which variable is missing. Treat a startup failure as the design working.

Authentication#

VariableRequiredNotes
SQUAD_MCP_AUDIENCEyesThe resource-server token audience. No default — an audience-less server would accept tokens minted for anything.
SQUAD_MCP_ALLOWED_ISSUERS—Comma-separated issuer allow-list.
SQUAD_MCP_ALLOWED_TENANTS—Comma-separated tenant allow-list.
SQUAD_MCP_ALLOWED_ORIGINS—Strict allow-list. A literal * is rejected at startup.

Model backend#

VariableDefaultNotes
SQUAD_MCP_MODEL_ENDPOINT—Must also appear in the allow-list below, or startup fails.
SQUAD_MCP_ALLOWED_MODEL_ENDPOINTS—The endpoints this server may ever call. Exfiltration defence.
SQUAD_MCP_MODEL_DEPLOYMENT—The Azure OpenAI deployment name.
SQUAD_MCP_MODEL_API_VERSION2024-10-21
SQUAD_MCP_TENANT_CONCURRENCYbuilt-inPer-tenant concurrent run cap.
SQUAD_MCP_TENANT_COST_CEILING_USDbuilt-inPer-tenant spend ceiling. Set this before real users.
SQUAD_MCP_SESSION_IDLE_MSbuilt-inIdle session eviction.

The async pipeline#

VariableDefaultNotes
SQUAD_MCP_REMOTE_PIPELINE_ENABLEDfalseOff by default. The default remote surface is the advisory tools.
SQUAD_MCP_RUN_STATE_BACKENDfilefile (single replica) or table (Azure Table, cross-replica CAS).
SQUAD_MCP_RUN_STATE_DIR—Required for the file backend.
SQUAD_MCP_STORAGE_ACCOUNT—Required for the table backend, renders, memory, and overflow.
SQUAD_MCP_RUN_TABLE_NAMEsquadruns
SQUAD_MCP_WORKER_ENABLEDfalseBackground worker for runs over ~4 minutes. Requires the table backend.
SQUAD_MCP_RUN_ENCRYPTION_KEY_B64—Base64 key. When set, per-stage artifacts, the Council Verdict, and caller request/context are AES-256-GCM encrypted at rest.
SQUAD_MCP_ADVISORY_AUTOPILOT_ENABLEDfalseLets advisory-only runs proceed unattended. Narrows the gate; never removes it for impactful roles.

SQUAD_MCP_ADVISORY_AUTOPILOT_ENABLED is not a gate override. It is scoped to runs whose roles land no impactful action. A run that touches a backlog executor, a deployer, an IaC author, or Azure diagnostics still holds for an operator regardless of this setting.

Squad memory#

The server writes the same .copilot-tracking/squad/ tree the squad produces locally — research notes, plans, verdicts, the run ledger — so a remote run leaves the same durable trail as a local one, and history can be read back automatically on the next run instead of being retyped into the prompt.

VariableDefaultNotes
SQUAD_MCP_ENABLE_MEMORYfalseMaster switch for the memory broker tools.
SQUAD_MCP_MEMORY_BACKENDtabletable, file, or graph.
SQUAD_MCP_MEMORY_TABLE_NAMEsquadmemory
SQUAD_MCP_MEMORY_DIR—Required for the file backend.
SQUAD_MCP_MEMORY_GRAPH_DRIVE_ID—Required for graph: the SharePoint or OneDrive document library.
SQUAD_MCP_MEMORY_GRAPH_ROOT_PATH—Folder path within that library.
SQUAD_MCP_MEMORY_GRAPH_ENCRYPTfalseField-level encryption before content leaves for Graph.
SQUAD_MCP_MEMORY_AUTO_ENABLEDfalseWrite memory automatically as a run progresses, rather than on an explicit tool call.
SQUAD_MCP_MEMORY_DEFAULT_PROJECTdefaultLower-kebab-case; it is a store partition segment.
SQUAD_MCP_ENABLE_ARTIFACTSfalsePersist the squad ledger — team.md, routing.md, state.json, and the append-only logs. Requires memory.

Several destinations at once#

SQUAD_MCP_MEMORY_TARGETS takes a JSON array of named destinations, and SQUAD_MCP_MEMORY_DEFAULT_TARGET names the one used when the caller does not choose. Target names are lower-kebab-case because they are the caller-facing selector. This is how one deployment serves, say, an engineering SharePoint library and a separate customer-facing one without the caller being able to reach across.

Overflow to blob#

Table entities have a size ceiling, so a large artifact would otherwise fail the write. With SQUAD_MCP_MEMORY_OVERFLOW_ENABLED, anything past SQUAD_MCP_MEMORY_OVERFLOW_THRESHOLD_BYTES (default 32 KiB) spills into SQUAD_MCP_MEMORY_OVERFLOW_CONTAINER with a pointer left in the entity.

Deterministic render#

VariableDefaultNotes
SQUAD_MCP_ENABLE_RENDER_PPTXfalseEnables squad_render_pptx.
SQUAD_MCP_RENDER_PYTHON_PATH—Required when enabled — the in-image python-pptx interpreter.
SQUAD_MCP_RENDER_SCRIPTS_DIR—Required when enabled.
SQUAD_MCP_RENDER_BLOB_CONTAINERrenders
SQUAD_MCP_RENDER_SAS_TTL_MINUTES60User-delegation SAS lifetime. The SAS is never logged.
SQUAD_MCP_RENDER_BRAND_TEMPLATE_PATH—Optional branded .pptx template.

Business tools#

VariableDefaultNotes
SQUAD_MCP_ENABLE_BUSINESS_TOOLSfalseEnables squad_business_plan and squad_backlog. Requires a model endpoint.

This list is the shape of the surface, not the deployment procedure. Exact parameter wiring, Key Vault references, and the Bicep parameters live in host/RUNBOOK.md.

Search documentation

Search the English documentation. Press Esc to close.

Loading search…