Configuration Management

Overview

MCPCTL provides simple and secure management of profiles, environment variables, and secrets for your servers. All configuration is profile-based, so you can easily switch between different environments.

Profile Management

Profiles let you manage separate sets of configuration for different environments (e.g. dev, staging, prod). You can create, delete, list, use, and inspect profiles.

Create a profile

mcpctl profile create <name> [--description <text>] [--copy-from <name>]

Delete a profile

mcpctl profile delete <name>

List all profiles

mcpctl profile list

Use a profile (set as default)

mcpctl profile use <name>

Read profile details

mcpctl profile read <name>

Environment Variables

Environment variables are managed per profile. You can set, get, list, and delete environment variables for any profile.

Set an environment variable

mcpctl profile env set <KEY> <VALUE> [--profile <profile-name>]

Get an environment variable

mcpctl profile env get <KEY> [--profile <profile-name>]

List environment variables

mcpctl profile env list [--profile <profile-name>]

Delete an environment variable

mcpctl profile env delete <KEY> [--profile <profile-name>]

Secrets Management

Secrets are also managed per profile. You can add, get, list, and remove secrets.

  • keychain is the default and first supported backend for secrets. All secrets are stored in the local OS keychain by default.
  • vault support is under development and not yet available.

You can specify the source with --source <keychain|vault>. If omitted, keychain is used.

Add a secret

mcpctl secret add <name> --value <value> [--source <keychain|vault>]

Get a secret

mcpctl secret get <name> [--source <keychain|vault>]

List secrets

mcpctl secret list [--source <keychain|vault>]

Remove a secret

mcpctl secret remove <name> [--source <keychain|vault>]

Example Workflow

# Create and use a dev profile
mcpctl profile create dev --description "Development environment"
mcpctl profile use dev

# Set environment variable for dev profile
mcpctl profile env set DEBUG true

# Add a Slack token secret to keychain
mcpctl secret add SLACK_BOT_TOKEN --value xoxb-xxx --source keychain

# List all secrets in keychain
mcpctl secret list --source keychain

For more details on profiles, see Profile Management.