MCPX_CONFIG_MISSING_SECRET
Severity: error Domain: Config
What happened
The upstream config references a secret (typically via ${keyring:NAME} in
env or headers), but the secret was not found in the active secret store
when mcpproxy tried to start that server.
How to fix
List what's defined
mcpproxy secrets list
If the name you referenced isn't there, add it.
Add the missing secret
mcpproxy secrets set <NAME> # prompts; typed characters are echoed in the terminal
Secrets are stored in the OS keychain on macOS / Windows and in an encrypted file on Linux.
Check the reference syntax
{
// env values support ${keyring:NAME} expansion:
"env": { "GITHUB_TOKEN": "${keyring:github_personal_token}" },
// headers do too:
"headers": { "Authorization": "Bearer ${keyring:my_api_key}" }
}
Plain string values are used as-is (no expansion).
Migration from inline secrets
If you previously stored secrets inline and want to move them into the secret store:
mcpproxy secrets set github_personal_token
# Enter the value at the prompt (terminal input is echoed).
# Then update the config to use ${keyring:github_personal_token}