UNPKG

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

399 lines • 15.4 kB
/** * SmartLead MCP Server - Main Client * * Main client that combines all API modules into a single interface. * Provides a unified API for accessing all SmartLead functionality. * * @author LeadMagic Team * @version 1.5.0 */ import { AnalyticsClient } from '../modules/analytics/client.js'; import { CampaignManagementClient } from '../modules/campaigns/client.js'; import { ClientManagementClient } from '../modules/client-management/client.js'; import { EmailAccountManagementClient } from '../modules/email-accounts/client.js'; import { LeadClient } from '../modules/leads/client.js'; import { SmartDeliveryClient } from '../modules/smart-delivery/client.js'; import { SmartSendersClient } from '../modules/smart-senders/client.js'; import { StatisticsClient } from '../modules/statistics/client.js'; import { WebhooksClient } from '../modules/webhooks/client.js'; import type { SmartLeadConfig } from '../types/config.js'; import type { AnalyticsCampaignFollowUpReplyRateRequest, AnalyticsCampaignLeadsTakeForFirstReplyRequest, AnalyticsCampaignLeadToReplyTimeRequest, AnalyticsCampaignListRequest, AnalyticsCampaignOverallStatsRequest, AnalyticsCampaignResponseStatsRequest, AnalyticsCampaignStatusStatsRequest, AnalyticsClientListRequest, AnalyticsClientMonthWiseCountRequest, AnalyticsClientOverallStatsRequest, AnalyticsDayWiseOverallStatsRequest, AnalyticsLeadCategoryWiseResponseRequest, AnalyticsLeadOverallStatsRequest, AnalyticsMailboxDomainWiseHealthMetricsRequest, AnalyticsMailboxNameWiseHealthMetricsRequest, AnalyticsMailboxOverallStatsRequest, AnalyticsMailboxProviderWiseOverallPerformanceRequest, AnalyticsOverallStatsV2Request, AnalyticsTeamBoardOverallStatsRequest, CreateCampaignRequest, EmailSequence, ExportCampaignDataRequest, FetchCampaignAnalyticsByDateRangeRequest, GetCampaignSequenceAnalyticsRequest, GetCampaignsWithAnalyticsRequest, Lead, ListCampaignsRequest, ListLeadsRequest, UpdateCampaignScheduleRequest, UpdateCampaignSettingsRequest, UpdateLeadRequest } from '../types.js'; import { BaseSmartLeadClient } from './base.js'; interface EmailAccountRequest { email: string; password: string; smtp_host: string; smtp_port: number; imap_host: string; imap_port: number; name?: string; } interface UpdateEmailAccountRequest { name?: string; settings?: Record<string, unknown>; status?: 'active' | 'inactive' | 'warmup'; } interface WarmupSettings { email_account_id: number; emails_per_day?: number; warmup_reputation?: boolean; ramp_up_increment?: number; reply_rate_percentage?: number; } interface EmailAccountHealthParams { start_date?: string; end_date?: string; metrics?: string[]; } /** * Main SmartLead API Client * * Unified client that provides access to all SmartLead API functionality * through modular sub-clients for different API categories. */ export declare class SmartLeadClient extends BaseSmartLeadClient { readonly campaigns: CampaignManagementClient; readonly leads: LeadClient; readonly analytics: AnalyticsClient; readonly emailAccounts: EmailAccountManagementClient; readonly clientManagement: ClientManagementClient; readonly webhooks: WebhooksClient; readonly smartDelivery: SmartDeliveryClient; readonly statistics: StatisticsClient; readonly smartSenders: SmartSendersClient; constructor(config: SmartLeadConfig); createCampaign(params: CreateCampaignRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; updateCampaignSchedule(campaignId: number, params: UpdateCampaignScheduleRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; updateCampaignSettings(campaignId: number, params: UpdateCampaignSettingsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; updateCampaignStatus(campaignId: number, status: string): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getCampaign(campaignId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; listCampaigns(params?: ListCampaignsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; saveCampaignSequence(campaignId: number, sequence: EmailSequence): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getCampaignSequence(campaignId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getCampaignsWithAnalytics(params?: GetCampaignsWithAnalyticsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; deleteCampaign(campaignId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; exportCampaignData(campaignId: number, params?: ExportCampaignDataRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; fetchCampaignAnalyticsByDateRange(campaignId: number, params: FetchCampaignAnalyticsByDateRangeRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getCampaignSequenceAnalytics(campaignId: number, params?: GetCampaignSequenceAnalyticsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; fetchAllCampaignsUsingLeadId(leadId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; listLeadsByCampaign(campaignId: number, params?: { limit?: number; offset?: number; search?: string; status?: string; }): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; fetchLeadCategories(): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; fetchLeadByEmail(email: string): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; addLeadsToCampaign(campaignId: number, leads: Lead[]): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; resumeLeadByCampaign(campaignId: number, leadId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; pauseLeadByCampaign(campaignId: number, leadId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; deleteLeadByCampaign(campaignId: number, leadId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; unsubscribeLeadFromCampaign(campaignId: number, leadId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; unsubscribeLeadFromAllCampaigns(leadId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; addLeadToGlobalBlocklist(email: string): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; fetchAllLeadsFromAccount(params?: ListLeadsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; fetchLeadsFromGlobalBlocklist(params?: ListLeadsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; updateLeadById(leadId: number, leadData: UpdateLeadRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; updateLeadCategory(campaignId: number, leadId: number, category: string): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; fetchLeadMessageHistory(campaignId: number, leadId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; replyToLeadFromMasterInbox(campaignId: number, leadId: number, message: { subject: string; message: string; }): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; forwardReply(campaignId: number, leadId: number, forwardData: { forward_to: string; message?: string; }): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsCampaignList(params?: AnalyticsCampaignListRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsClientList(params?: AnalyticsClientListRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsClientMonthWiseCount(params?: AnalyticsClientMonthWiseCountRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsOverallStatsV2(params?: AnalyticsOverallStatsV2Request): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsDayWiseOverallStats(params?: AnalyticsDayWiseOverallStatsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsDayWisePositiveReplyStats(params?: AnalyticsDayWiseOverallStatsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsCampaignOverallStats(params?: AnalyticsCampaignOverallStatsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsClientOverallStats(params?: AnalyticsClientOverallStatsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsMailboxNameWiseHealthMetrics(params?: AnalyticsMailboxNameWiseHealthMetricsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsMailboxDomainWiseHealthMetrics(params?: AnalyticsMailboxDomainWiseHealthMetricsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsMailboxProviderWiseOverallPerformance(params?: AnalyticsMailboxProviderWiseOverallPerformanceRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsTeamBoardOverallStats(params?: AnalyticsTeamBoardOverallStatsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsLeadOverallStats(params?: AnalyticsLeadOverallStatsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsLeadCategoryWiseResponse(params?: AnalyticsLeadCategoryWiseResponseRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsCampaignLeadsTakeForFirstReply(params?: AnalyticsCampaignLeadsTakeForFirstReplyRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsCampaignFollowUpReplyRate(params?: AnalyticsCampaignFollowUpReplyRateRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsCampaignLeadToReplyTime(params?: AnalyticsCampaignLeadToReplyTimeRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsCampaignResponseStats(params?: AnalyticsCampaignResponseStatsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsCampaignStatusStats(params?: AnalyticsCampaignStatusStatsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAnalyticsMailboxOverallStats(params?: AnalyticsMailboxOverallStatsRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; addEmailAccount(params: EmailAccountRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getAllEmailAccounts(): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getEmailAccountById(accountId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; updateEmailAccount(accountId: number, params: UpdateEmailAccountRequest): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; deleteEmailAccount(_accountId: number): Promise<void>; testEmailAccountConnection(accountId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getEmailAccountWarmupStatus(accountId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; updateEmailAccountWarmupSettings(accountId: number, params: WarmupSettings): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; getEmailAccountHealthMetrics(accountId: number, params?: EmailAccountHealthParams): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; assignEmailAccountsToCampaign(campaignId: number, accountIds: number[]): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; removeEmailAccountsFromCampaign(campaignId: number, accountIds: number[]): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; listEmailAccountsPerCampaign(campaignId: number): Promise<{ success: boolean; message?: string | undefined; data?: unknown; }>; } export { AnalyticsClient } from '../modules/analytics/client.js'; export { CampaignManagementClient } from '../modules/campaigns/client.js'; export { ClientManagementClient } from '../modules/client-management/client.js'; export { EmailAccountManagementClient } from '../modules/email-accounts/client.js'; export { LeadClient } from '../modules/leads/client.js'; export { SmartDeliveryClient } from '../modules/smart-delivery/client.js'; export { SmartSendersClient } from '../modules/smart-senders/client.js'; export { StatisticsClient } from '../modules/statistics/client.js'; export { WebhooksClient } from '../modules/webhooks/client.js'; export { SmartLeadConfig } from '../types/config.js'; export { BaseSmartLeadClient, SmartLeadError } from './base.js'; //# sourceMappingURL=index.d.ts.map