Resolution Order
The
.frontmcp/machine-id file is only created in development (NODE_ENV !== 'production'). In production without an env var, a random UUID is generated on each startup.Usage
Distributed Deployment
In Kubernetes, each pod automatically gets its machine ID from theHOSTNAME environment variable, which Kubernetes sets to the pod name (e.g., mcp-server-7b8f9-abc12). This ensures:
- Session affinity: the
__frontmcp_nodecookie andX-FrontMCP-Machine-Idheader are tied to the actual pod - Heartbeat identity: each pod’s heartbeat key (
mcp:ha:heartbeat:{nodeId}) maps to its pod name - Takeover correctness: session ownership references the real pod, not a random ID
Direct API
Thecreate() factory function accepts a machineId option for stable identity in tests and embedded usage:
setMachineIdOverride() internally before initializing the server.
Environment Variables
Related
High Availability
Multi-pod deployment with session failover
Runtime Modes
Standalone, distributed, and serverless modes
Direct Client
In-process MCP server for testing and embedding