smartlead-mcp-server
Version:
MCP server for Smartlead campaign management integration. Features include creating campaigns, updating campaign settings, and managing campaign sequences.
62 lines (61 loc) • 1.97 kB
TypeScript
export declare enum LicenseLevel {
FREE = "free",
BASIC = "basic",
PREMIUM = "premium"
}
export interface LicenseFeatures {
allowedCategories: string[];
maxRequests: number;
n8nIntegration: boolean;
smartleadApiAccess: boolean;
}
export interface LicenseValidationResult {
valid: boolean;
level: LicenseLevel;
features: LicenseFeatures;
message: string;
usageCount: number;
}
export interface FeatureRequestToken {
token: string;
expires: number;
}
/**
* Validate a license key
* @param licenseKey Optional: license key to validate (primarily uses env var)
* @returns License validation result
*/
export declare function validateLicense(): Promise<LicenseValidationResult>;
/**
* Get a token for server-side feature validation
* This adds security since critical operations will need server validation
*/
export declare function getFeatureToken(): Promise<FeatureRequestToken | null>;
/**
* Track usage for a license
* @param licenseKey The license key
* @param toolName The tool being used
*/
export declare function trackUsage(licenseKey?: string, toolName?: string): Promise<void>;
/**
* Check if a feature is available in the current license
* @param feature The feature to check
* @returns Whether the feature is available
*/
export declare function isFeatureEnabled(feature: keyof LicenseFeatures): Promise<boolean>;
/**
* Check if a category is available in the current license
* @param category The category to check
* @returns Whether the category is available
*/
export declare function isCategoryEnabled(category: string): Promise<boolean>;
/**
* Get the current license information
* @returns Current license information
*/
export declare function getLicenseInfo(): Promise<LicenseValidationResult>;
/**
* Print a summary of the current license status to the console
* This is useful for displaying on server startup
*/
export declare function printLicenseStatus(): Promise<void>;