Skip to content
code-config.com

Credential storage and permissions

A toolkit records which credentials a tool needs. Credential values are stored on the computer using them, separately from the toolkit definition. To configure a server, follow Set up MCP credentials.

The included Managed store uses the operating system’s credential store when available. Otherwise, it uses a local file protected by owner-only permissions and an integrity check. The file fallback is not encrypted. The selected storage method is recorded when the value is written.

A recognized local provider can keep a value where it is already stored. Inspect available providers:

Terminal window
csc secrets providers

Each computer has its own values. Connecting a computer does not copy them from another one. A value pasted into a coding-agent chat also remains in that chat transcript; local storage does not remove that copy.

A binding identifies the local value a credential requirement should use. Binding a value to a server inside a toolkit gives that server access to it.

One credential holds one value for the whole workspace, so a binding covers every toolkit that asks for that credential. There is nothing narrower to bind.

For routine MCP setup, use the guided command. To bind a value directly, name the credential:

Terminal window
csc secrets bind <name>
csc secrets bind <name> --toolkit <toolkit-id>

<name> is a credential id, or the name a toolkit calls the key by. --toolkit narrows which toolkits are searched for that name; the value is saved for the whole workspace either way.

Without an input option, the command uses a hidden prompt. For noninteractive use, choose an existing local source:

Option Input behavior
--from-env <NAME> Reads a named environment variable.
--from-command <COMMAND> Runs a credential helper and reads its output.
--from-file <path> Reads the file and deletes it. Use a file you made for this one command.
--from-stdin Reads standard input.

Do not put credential values in command-line arguments, examples, logs, or support messages. Direct binding commands do not print the stored value back.

Use csc secrets verify <credential-id> to check a binding and csc secrets unbind <credential-id> to remove it. Access comes from the binding itself, so there is nothing else to allow or take back. Each command’s --help explains its required arguments.

Unbinding is different from deleting a toolkit: removing the value takes it away from every toolkit that asks for that credential, and leaves the toolkits themselves alone.

Command-line reference lists available management commands and their options.