smartlead-mcp-by-leadmagic
Version:
💜 The Premier Model Context Protocol Server for SmartLead's Cold Email Automation Platform - Complete API coverage with 116+ tools for campaign management, lead tracking, smart delivery, and analytics. Beautiful purple-gradient installer, zero-config set
235 lines • 6.51 kB
TypeScript
/**
* SmartLead MCP Server - Smart Delivery Client
*
* Handles all Smart Delivery related operations including placement tests,
* spam tests, reports, and folder management.
*
* @author LeadMagic Team
* @version 1.5.0
*/
import { BaseSmartLeadClient } from '../../client/base.js';
import type { SmartLeadConfig } from '../../types/config.js';
interface Provider {
provider_id: string;
provider_name: string;
}
interface ProviderGroup {
group_id: string;
group_name: string;
providers: Provider[];
}
interface RegionProvider {
region_id: string;
region_name: string;
groups: ProviderGroup[];
}
interface SpamTestParams {
test_name?: string;
sender_account_ids?: number[];
email_content?: string;
subject?: string;
limit?: number;
offset?: number;
status?: string;
test_type?: string;
}
interface SpamTestDetails {
spam_test_id: number;
test_name: string;
test_type: string;
status: string;
created_at: string;
test_end_date?: string;
inbox_count: number;
spam_count: number;
tab_count: number;
adjusted_total_email_count: number;
}
interface FolderParams {
name: string;
description?: string;
}
interface SmartDeliveryFolder {
id?: number;
folder_id?: number;
name: string;
description?: string;
created_at?: string;
}
interface BulkDeleteParams {
test_ids: number[];
}
interface ReportParams {
test_id?: number;
spam_test_id?: number;
limit?: number;
offset?: number;
status?: string;
date_range?: {
start_date: string;
end_date: string;
};
}
interface SmartDeliveryResponse<T = unknown> {
success: boolean;
data: T;
message?: string;
}
/**
* Smart Delivery Client
*
* Provides methods for managing SmartLead smart delivery including:
* - Placement tests (manual and automated)
* - Spam tests and reports
* - Folder management
* - Provider and geo-wise reports
*
* Note: Smart Delivery uses a different base URL than the main API
* Base URL: https://smartdelivery.smartlead.ai/api/v1
*/
export declare class SmartDeliveryClient extends BaseSmartLeadClient {
private smartDeliveryClient;
constructor(config: SmartLeadConfig);
/**
* Get region wise provider IDs
* GET /spam-test/seed/providers
*/
getRegionWiseProviderIds(): Promise<RegionProvider[]>;
/**
* Create a manual placement test
* POST /spam-test/manual
*/
createManualPlacementTest(params: SpamTestParams): Promise<SpamTestDetails>;
/**
* Create an automated placement test
* POST /spam-test/automated
*/
createAutomatedPlacementTest(params: SpamTestParams): Promise<SpamTestDetails>;
/**
* Get spam test details
* GET /spam-test/{test_id}
*/
getSpamTestDetails(testId: number): Promise<SpamTestDetails>;
/**
* Delete smart delivery tests in bulk
* POST /spam-test/bulk-delete
*/
deleteTestsInBulk(params: BulkDeleteParams): Promise<SmartDeliveryResponse>;
/**
* Stop an automated smart delivery test
* PUT /spam-test/{test_id}/stop
*/
stopAutomatedTest(testId: number): Promise<SmartDeliveryResponse>;
/**
* List all tests
* POST /spam-test/report
*/
listAllTests(params: ReportParams): Promise<SpamTestDetails[]>;
/**
* Get provider wise report
* POST /spam-test/provider-wise-results
*/
getProviderWiseReport(params: ReportParams): Promise<unknown>;
/**
* Get geo wise report
* POST /spam-test/geo-wise-report
*/
getGeoWiseReport(params: ReportParams): Promise<unknown>;
/**
* Get sender account wise report
* GET /spam-test/sender-account-wise-report
*/
getSenderAccountWiseReport(testId: number): Promise<unknown>;
/**
* Get spam filter report
* GET /spam-test/{test_id}/spam-filter-report
*/
getSpamFilterReport(testId: number): Promise<unknown>;
/**
* Get DKIM details
* GET /spam-test/{test_id}/dkim-details
*/
getDkimDetails(testId: number): Promise<unknown>;
/**
* Get SPF details
* GET /spam-test/{test_id}/spf-details
*/
getSpfDetails(testId: number): Promise<unknown>;
/**
* Get rDNS report
* GET /spam-test/{test_id}/rdns-report
*/
getRdnsReport(testId: number): Promise<unknown>;
/**
* Get sender account list
* GET /spam-test/{test_id}/sender-account-list
*/
getSenderAccountList(testId: number): Promise<unknown>;
/**
* Get blacklists
* GET /spam-test/{test_id}/blacklists
*/
getBlacklists(testId: number): Promise<unknown>;
/**
* Get domain blacklist
* GET /spam-test/{test_id}/domain-blacklist
*/
getDomainBlacklist(testId: number): Promise<unknown>;
/**
* Get spam test email content
* GET /spam-test/{test_id}/email-content
*/
getSpamTestEmailContent(testId: number): Promise<unknown>;
/**
* Get IP blacklist count
* GET /spam-test/{test_id}/ip-blacklist-count
*/
getIpBlacklistCount(testId: number): Promise<unknown>;
/**
* Get email reply headers
* GET /spam-test/{test_id}/email-headers
*/
getEmailReplyHeaders(testId: number): Promise<unknown>;
/**
* Get schedule history for automated tests
* GET /spam-test/{test_id}/schedule-history
*/
getScheduleHistory(testId: number): Promise<unknown>;
/**
* Get IP details
* GET /spam-test/{test_id}/ip-details
*/
getIpDetails(testId: number): Promise<unknown>;
/**
* Get mailbox summary
* GET /spam-test/{test_id}/mailbox-summary
*/
getMailboxSummary(testId: number): Promise<unknown>;
/**
* Get mailbox count
* GET /spam-test/{test_id}/mailbox-count
*/
getMailboxCount(testId: number): Promise<unknown>;
/**
* Get all folders
* GET /spam-test/folder
*/
getAllFolders(): Promise<SmartDeliveryFolder[]>;
/**
* Create folder
* POST /spam-test/folder
*/
createFolder(params: FolderParams): Promise<SmartDeliveryFolder>;
/**
* Get folder by ID
* GET /spam-test/folder/{folder_id}
*/
getFolderById(folderId: number): Promise<SmartDeliveryFolder>;
/**
* Delete folder
* DELETE /spam-test/folder/{folder_id}
*/
deleteFolder(folderId: number): Promise<SmartDeliveryResponse>;
}
export {};
//# sourceMappingURL=client.d.ts.map