mcp-use TypeScript API
    Preparing search index...

    Interface SettingsRegistration<Fields, TUser, HasOAuth, TEnv>

    Register native plugin settings; persistence and authorization remain application-owned.

    interface SettingsRegistration<
        Fields extends SettingsFields,
        TUser = never,
        HasOAuth extends OAuthMode = false,
        TEnv extends Env = Env,
    > {
        fields: Fields;
        layout?: readonly SettingsLayoutGroup<NoInfer<keyof Fields & string>>[];
        read: (
            ctx: RequestContext<TUser, HasOAuth, TEnv>,
        ) => SettingsValues<Fields> | Promise<SettingsValues<Fields>>;
        readTool?: string;
        update: (
            set: Partial<SettingsValues<Fields>>,
            ctx: RequestContext<TUser, HasOAuth, TEnv>,
        ) => SettingsValues<Fields> | Promise<SettingsValues<Fields>>;
        updateTool?: string;
    }

    Type Parameters

    Index
    fields: Fields

    At least one field convertible to boolean, string, string enum, number, or integer JSON Schema.

    layout?: readonly SettingsLayoutGroup<NoInfer<keyof Fields & string>>[]

    Optional grouped controls and action buttons.

    read: (
        ctx: RequestContext<TUser, HasOAuth, TEnv>,
    ) => SettingsValues<Fields> | Promise<SettingsValues<Fields>>

    Authorize and return every effective value, including application defaults, without mutation.

    readTool?: string

    Read tool name; defaults to settings.read.

    update: (
        set: Partial<SettingsValues<Fields>>,
        ctx: RequestContext<TUser, HasOAuth, TEnv>,
    ) => SettingsValues<Fields> | Promise<SettingsValues<Fields>>

    Authorize, preserve omitted fields, persist changes atomically, then return every effective value.

    updateTool?: string

    Update tool name; defaults to settings.update.