Configuration
Configuration Resolution
Section titled “Configuration Resolution”Configuration resolution is the process by which user-supplied values are matched to the config slots declared in the manifest.
Config Value Resolution Order
Section titled “Config Value Resolution Order”When resolving a config variable, the installer MUST use the following precedence order (highest to lowest):
- User-supplied value — provided interactively during install or pre-configured in host settings.
- Config default — the
defaultvalue declared in the manifest config slot. - Error — if the slot is
requiredand no value is found, the installer MUST report an error.
If a slot is not required and no value is available from steps 1 or 2, the variable is treated as unset.
Storage
Section titled “Storage”Config values are stored in the host’s settings mechanism, namespaced under the package name:
{ "packages": { "api-testing": { "API_BASE_URL": "https://api.example.com", "API_KEY": "sk-...", "ENVIRONMENT": "staging" } }}- Values of type
secretMUST be masked in all log output and MUST NOT appear in lockfiles. - Installers SHOULD store secrets using the host’s secure storage mechanism when available.
Variable Substitution
Section titled “Variable Substitution”Template variables in .mcp.json and .lsp.json files use the syntax ${config.VARIABLE_NAME}. The substitution rules defined in MCP Servers > Variable Substitution apply. Substitution occurs at install time when templates are rendered to their final form.