Skip to content

Configuration

The config file

~/.config/scout/config.json, or $XDG_CONFIG_HOME/scout/config.json, or wherever SCOUT_CONFIG or --config points. Keys are flag names, so the file has no schema of its own and every flag is a setting.

{
  "defaults": { "rps": 4, "report-dir": "./scout-reports" },
  "profiles": {
    "prod": {
      "endpoint": "https://mcp.example.com/mcp",
      "settings": {
        "auth": "client-credentials",
        "client-id": "acme",
        "client-secret-env": "ACME_SECRET",
        "param": ["profile_id=tenant-1"],
        "deny": ["send_email"]
      }
    }
  }
}
scout check --profile prod

A profile supplies the endpoint and its settings; a positional endpoint on the command line still wins. Keep secrets in the environment and reference them with the *-env settings.

Precedence

Highest first: an explicit flag, the selected profile, the defaults block, the flag's built-in default. Environment variables are a separate layer for secrets only (SCOUT_TOKEN, SCOUT_CLIENT_ID, SCOUT_CLIENT_SECRET, SCOUT_BASIC), consulted when the matching flag is unset.

A setting that names no flag anywhere in the CLI is an error, not a silent no-op: a typo that is quietly ignored is worse than one that fails, because you believe it took effect.

The commands

scout config init       # write a commented template listing every setting
scout config validate   # parse the file and reject unknown settings
scout config show       # print the effective file as JSON

The template's lines are valid JSON once uncommented. Lines that are only a // comment are stripped when the file is loaded.

Settings reference

Every flag of scout check is a setting. The ones people set in a file:

Setting Default Meaning
auth auto credential mode
token-env, client-id, client-secret-env, scope, param, header credentials, see Credentials
allow-mutations, allow-destructive, only, deny, arg execution policy
samples 5 repeat calls per tool in the performance phase
concurrency 4 workers in the burst; 0 disables
rps 2 requests per second; 0 disables throttling
timeout 30s per call
seed 1 for generated arguments
fill-optional false also generate optional schema properties
allow-load false run the burst unthrottled
max-resources, max-prompts 25 caps for reads and renders
output text text, json, md, ndjson
report-dir write every format plus telemetry here
capture-bodies, events, verbose, no-color false output detail
phases, skip-phases select phases

The token store

scout login writes ~/.config/scout/tokens.json (mode 0600, one entry per endpoint) holding the access and refresh tokens, the token endpoint, the client id and secret used, the resource and issuer. scout check --auth authorization-code and scout call read it and refresh through it. Delete the entry to log out.