Environment Variables
All environment variables are read at startup. Set them in your shell, .env file, or MCP client configuration.
Skill Gating
Section titled “Skill Gating”These variables unlock optional skill domains that are off by default.
ENABLE_PHYSICS_SKILLS
Section titled “ENABLE_PHYSICS_SKILLS”| Default | Values |
|---|---|
false | true / false |
Enables the qm-* (Quantum Mechanics) and gr-* (General Relativity) skill prefixes. Without this flag, any attempt to invoke physics skills returns an authorization error.
ENABLE_PHYSICS_SKILLS=true node dist/index.jsALLOW_GOVERNANCE_SKILLS
Section titled “ALLOW_GOVERNANCE_SKILLS”| Default | Values |
|---|---|
false | true / false |
Enables the gov-* governance and compliance skill prefix. The govern workflow and policy-govern tool require this flag. Designed for regulated environments where governance tooling must be explicitly opted-in.
ALLOW_GOVERNANCE_SKILLS=true node dist/index.jsDISABLE_ADAPTIVE_ROUTING
Section titled “DISABLE_ADAPTIVE_ROUTING”| Default | Values |
|---|---|
false | true / false |
Disables the adapt-* bio-inspired routing skill prefix and hides the routing-adapt MCP tool from the public surface. By default routing-adapt is visible and adaptive skills are enabled — set this flag to opt-out. Hebbian reinforcement, ACO pheromone routing, Physarum pruning, and simulated annealing workflows remain available unless this flag is set.
# Opt-out: hide routing-adapt and block adapt-* skill executionDISABLE_ADAPTIVE_ROUTING=true node dist/index.jsALLOW_INTENSIVE_SKILLS
Section titled “ALLOW_INTENSIVE_SKILLS”| Default | Values |
|---|---|
false | true / false |
Enables long-horizon, compute-intensive skill variants that may exceed standard token budgets or incur higher cost. Consult skill documentation before enabling in production.
Tool Surface Control
Section titled “Tool Surface Control”HIDDEN_TOOLS
Section titled “HIDDEN_TOOLS”| Default | Values |
|---|---|
"" | Comma-separated tool names |
Removes specific tools from the tools/list response. Useful for restricting the tool surface in shared or embedded configurations.
# Hide physics and governance tools from the tool surfaceHIDDEN_TOOLS="physics-analysis,enterprise,govern" node dist/index.jsRuntime & Debug
Section titled “Runtime & Debug”NODE_ENV
Section titled “NODE_ENV”| Default | Values |
|---|---|
development | development / production / test |
Controls environment-specific behaviour including observability verbosity and validation strictness. Set to production for deployed servers.
VITEST
Section titled “VITEST”| Default | Values |
|---|---|
false | true / false |
Automatically set by the test runner. Enables test-safe model availability stubs and skips live network checks.
VALIDATION_MODE
Section titled “VALIDATION_MODE”| Default | Values |
|---|---|
strict | strict / advisory |
In advisory mode, input validation failures are logged as warnings rather than rejected errors. Useful for local development and prompt iteration.
Serena Integration
Section titled “Serena Integration”See Serena Integration for the full backend description. By default the server runs in advisory mode and emits structured hints that the host model executes via its own Serena connection. The variables below opt into the child-spawn mode instead, where this server starts Serena as a stdio subprocess and resolves queries directly.
MCP_SERENA_COMMAND
Section titled “MCP_SERENA_COMMAND”| Default | Values |
|---|---|
| unset | shell command, e.g. uvx |
When set, the server lazily spawns Serena as a child MCP server over stdio and proxies queries to it. When unset, the server falls back to advisory mode and emits suggested mcp__serena__* calls for the host model to execute.
MCP_SERENA_ARGS
Section titled “MCP_SERENA_ARGS”| Default | Values |
|---|---|
| unset | space-separated args |
Passed verbatim to MCP_SERENA_COMMAND. Recommended:
MCP_SERENA_ARGS="--from git+https://github.com/oraios/serena serena start-mcp-server --project /absolute/path/to/your/project"Pin --project <path> explicitly: Serena keeps a global registry and otherwise refuses memory operations on a fresh cwd.
MCP_SERENA_CWD
Section titled “MCP_SERENA_CWD”| Default | Values |
|---|---|
| parent cwd | absolute path |
Working directory for the spawned Serena child.
MCP_LOCAL_MEMORY
Section titled “MCP_LOCAL_MEMORY”| Default | Values |
|---|---|
false | true / false |
Opt-in switch for the legacy per-tool-call TOON memory artifacts under .mcp-ai-agent-guidelines/memory/. Off by default — Serena memory (advertised via the 🧭 enrichment footer) is the recommended cross-session channel.
Model Router
Section titled “Model Router”Model router variables are managed via orchestration.toml and the orchestration-model-discover MCP tool. Avoid hardcoding model display names — use role classes (free, cheap, strong, reviewer) in code and let the router resolve actual model IDs at runtime.
See Model Routing for the full role hierarchy and discovery workflow.