auth
auth: {
mode: "bearer" | "oauth";
oauthAudience?: string;
oauthIssuer?: string;
oauthJwksUrl?: string;
oauthRequiredScopes: string[];
oauthResource?: string;
}
cleanupIntervalMs
cleanupIntervalMs: number
commandTimeoutMs
commandTimeoutMs: number
connector
connector: {
credentialCommand?: string;
credentialCommandArgs: string[];
credentialCommandTimeoutMs: number;
credentialProvider: "none" | "command" | "agent";
defaultUsername?: string;
toolProfile:
| "full"
| "remote-safe"
| "chatgpt"
| "claude"
| "remote-readonly"
| "remote-broker";
}
http
http: {
allowedOrigins: string[];
bearerTokenFile?: string;
enableLegacySse: boolean;
host: string;
maxRequestBodyBytes: number;
maxSessions: number;
port: number;
publicUrl?: string;
sessionIdleTtlMs: number;
trustProxy: boolean;
}
maxCommandOutputBytes
maxCommandOutputBytes: number
maxFileSize
maxFileSize: number
maxFileWriteBytes
maxFileWriteBytes: number
maxSessions
maxSessions: number
maxStreamChunks
maxStreamChunks: number
maxTransferBytes
maxTransferBytes: number
rateLimit
rateLimit: {
enabled: boolean;
maxRequests: number;
perSession: { enabled: boolean; maxRequests: number; windowMs: number };
windowMs: number;
}
security
security: { allowedCiphers: string[]; allowRootLogin: boolean; hostKeyPolicy: HostKeyPolicy; knownHostsPath: string;} sessionTtlMs
sessionTtlMs: number
Server configuration options