Skip to content

設定オプション

ConfigInput

defineConfig() に渡す設定オブジェクトの型:

ts
interface ConfigInput {
  servers?: ServerConfig[];
  rules?: Array<Rule | RuleBuilder>;
  protect?: string[];
  onViolation?: "block" | "warn" | "log";
  trace?: TraceConfig;
  log?: LogConfig;
}
フィールドデフォルト説明
serversServerConfig[]--バックエンド MCP サーバーの定義
rules(Rule | RuleBuilder)[]--適用するルールの配列
protectstring[]--有効にするプリセット名
onViolation"block" | "warn" | "log""block"違反時のデフォルト動作
traceTraceConfig--トレース設定
logLogConfig--ログ設定

ServerConfig

ts
interface ServerConfig {
  name: string;
  command: string;
  args?: string[];
  env?: Record<string, string>;
  cwd?: string;
}
フィールド必須説明
namestringはいサーバーの識別名
commandstringはい起動コマンド
argsstring[]いいえコマンド引数
envRecord<string, string>いいえ環境変数 (${VAR} で展開可)
cwdstringいいえ作業ディレクトリ

TraceConfig

ts
interface TraceConfig {
  maxMessages?: number;
  export?: string;
}
フィールドデフォルト説明
maxMessagesnumber1000保持するメッセージ数の上限
exportstring--トレースの出力先パス

LogConfig

ts
interface LogConfig {
  level?: "debug" | "info" | "warn" | "error";
  format?: "json" | "text";
  output?: string;
}
フィールドデフォルト説明
level"debug" | "info" | "warn" | "error""info"ログレベル
format"json" | "text""text"出力フォーマット
outputstring--ログファイルのパス

GuardrailsConfig

defineConfig() が返す最終的な設定の型:

ts
interface GuardrailsConfig {
  servers?: ServerConfig[];
  rules: Rule[];
  onViolation?: "block" | "warn" | "log";
  trace?: TraceConfig;
  log?: LogConfig;
}

ConfigInput との違い:

  • rulesRule[] のみ (ビルダーは解決済み)
  • protect フィールドはない (プリセットは rules に展開済み)