Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CML_URLYesController URL, e.g. https://cml.example.com (required)
MCP_HOSTNoHTTP listener host0.0.0.0
MCP_PATHNoHTTP listener path/mcp
MCP_PORTNoHTTP listener port8000
CML_TOKENNoA pre-issued JWT instead of username/password
LOG_LEVELNoLog levelINFO
MCP_TASKSNoRun the long tools (image upload, builds/starts with wait, convergence waits, recipe verify, captures) as MCP background tasks for clients that support them; others still call them synchronouslyfalse
CML_RETRIESNoRetries for idempotent calls2
CML_TIMEOUTNoPer-request timeout (s)30
CML_PASSWORDNoAPI password (JWT login via /api/v0/auth_extended)
CML_USERNAMENoAPI user (JWT login via /api/v0/auth_extended)
CML_CA_BUNDLENoCA file to verify the controller certificate
CML_IMAGE_DIRNoThe only directory cml_upload_image reads (images are streamed from it; uploads are off without it)
MCP_AUDIT_LOGNoAudit trail of previews and applied writesstderr
MCP_CACHE_DIRNoOpenAPI index cache ("" disables it)~/.cache/cml-mcp-server
MCP_TASKS_URLNoURL for MCP background tasksmemory://
MCP_TRANSPORTNohttp for a network serverstdio
CML_RATE_LIMITNoClient-side throttling rate limit
CML_VERIFY_SSLNofalse for self-signed lab controllers (logged as a warning)true
CML_CONFIG_DENYNoOne extra regex for cml_configure_node to deny
MCP_AUTH_TOKENSNoname:sha256:<hex> entries; HTTP refuses to start without one
MCP_CONFIRM_TTLNoConfirm-token lifetime (s)600
CML_CONSOLE_PORTNoSSH port of the CML console server (used for device CLI)22
CML_MANAGED_LABSNoSafety rails: labs the dangerous tools may wipe/delete (title globs or ids)
CML_WAIT_TIMEOUTNoDefault wait for start/stop/convergence (s)600
MCP_ENABLE_WRITESNoRegister the write tierfalse
CML_PROTECTED_LABSNoSafety rails: labs no change may touch (title globs or ids)
CML_MAX_CONCURRENCYNoClient-side max concurrency8
CML_LAB_SECRETS_FILENodotenv file with the LAB_* values that recipes reference as ${LAB_*} (device passwords, keys, communities). LAB_* environment variables override it. Recipe builds name any missing variable
MCP_AUTH_TOKENS_FILENoFile containing name:sha256:<hex> entries; HTTP refuses to start without one
MCP_ENABLE_DANGEROUSNoRegister the dangerous tierfalse
CML_CONSOLE_LOCK_WAITNoSeconds a console call waits for another call on the same node before reporting it busy60
CML_NODE_LICENSE_LIMITNoRunning licensed-node cap. Detected from /licensing when unset (base licence nodes + CML_NODE_COUNT expansion; 5 in evaluation mode). Start/build previews refuse to exceed it; cml_plan_licences says which labs to stop
CML_TLS_CHECK_HOSTNAMENofalse only with CML_CA_BUNDLE = the controller's own certificate (pinned; scripts/pin_controller.py)true
MCP_MAX_RESPONSE_CHARSNoResponse size budget40000
CML_CONSOLE_KNOWN_HOSTSNoknown_hosts file for the console server's host key. When unset, the key is checked against ~/.ssh/known_hosts if CML_VERIFY_SSL=true, and not checked otherwise
CML_CONFIG_DENY_DEFAULTSNocml_configure_node refuses destructive device commands (write erase, reload, format, delete, ...)true

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription

No tools

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources