@backblaze-labs/b2-mcp
    Preparing search index...

    Interface B2Config

    Resolved server configuration shared by stdio, HTTP, and tool handlers.

    interface B2Config {
        allowLocalFiles: boolean;
        appKey: string;
        appKeyId: string;
        applicationKey: string;
        applicationKeyId: string;
        callerFingerprint?: string;
        credentialFingerprint?: string;
        destructivePolicy?: DestructivePolicy;
        fileRoot: string | null;
        masterKey: string;
        masterKeyId: string;
        outputFormat?: "json" | "toon";
        region: string;
        secretSink?: SecretSinkConfig;
        transport?: "stdio" | "http";
    }
    Index
    allowLocalFiles: boolean

    Whether tools may read/write local filesystem paths (filePath / saveToPath). Enabled by default for the local stdio transport; disabled by default for the internet-facing HTTP transport, where a remote caller has no business referencing server-local paths (they should use base64 content).

    appKey: string

    Deprecated legacy key secret paired with B2Config.appKeyId.

    appKeyId: string

    Deprecated legacy alias. Tool-serving S3 clients use applicationKeyId/applicationKey.

    applicationKey: string

    Secret application key paired with B2Config.applicationKeyId.

    applicationKeyId: string

    The application key — the workhorse credential. Used for the B2 native API, the S3-compatible API, and key management. A non-master key is all most users need; it works for everything except the Partner API.

    callerFingerprint?: string

    Non-secret fingerprint that includes the verified caller when one is available.

    credentialFingerprint?: string

    Non-secret SHA-256-derived fingerprint used for logs, metrics, and caches.

    destructivePolicy?: DestructivePolicy

    Gate policy for destructive/irreversible tools (delete bucket/file-version/ key, cancel large file, eject group member, make-public / weaken-lock / replication via b2_update_bucket, outbound notification rules). "confirm" (default) requires confirm:true or an accepted MCP elicitation response; "elicit" requires an accepted MCP elicitation response and refuses if the client cannot supply one (a model confirm:true does not satisfy it); "block" refuses; "allow" disables the gate. The elicitation response is relayed by the client, so it is human-in-the-loop friction, not proof of human identity; only "block" is a boundary a compromised client cannot forge. Set via B2_DESTRUCTIVE_POLICY.

    fileRoot: string | null

    If set, every local file path must resolve inside this directory (a sandbox root, symlinks included). null means unrestricted — only safe for a trusted single-user stdio process. Set via B2_FILE_ROOT.

    masterKey: string

    Optional master key secret paired with B2Config.masterKeyId.

    masterKeyId: string

    Optional master application key, used ONLY by the Partner API tools. Falls back to the application key when unset, so a single non-master key remains a complete config for everything else.

    outputFormat?: "json" | "toon"

    LLM-facing TextContent serialization for structured successful tool results. structuredContent always remains canonical JSON.

    region: string

    Default B2 S3 region used before native authorization returns an endpoint.

    secretSink?: SecretSinkConfig

    Out-of-band destination for durable one-time B2 application key secrets. Undefined preserves the historical non-secret compatibility stubs.

    transport?: "stdio" | "http"

    Which transport launched this server — surfaced in the outbound User-Agent.