UNPKG

@iriseller/mcp-server

Version:

Model Context Protocol (MCP) server providing access to IRISeller's AI sales intelligence platform with 7 AI agents, multi-CRM integration, advanced sales workflows, email automation, Rosa demo functionality with action scoring, DNC compliance checking, G

203 lines (202 loc) 5.18 kB
import { IRISellerAPIService } from '../services/iriseller-api.js'; export declare class EmailToolHandlers { private apiService; private debugLog; private errorLog; constructor(apiService: IRISellerAPIService); /** * Handle automatic email response generation */ handleEmailAutoRespond(params: any): Promise<{ success: boolean; response: { content: any; htmlContent: any; agentsUsed: any; salesInfo: any; confidence: number; followupScheduled: boolean; }; error?: undefined; } | { success: boolean; error: string; response?: undefined; }>; /** * Analyze email intent and classify inquiry type */ handleEmailIntentAnalysis(params: any): Promise<{ success: boolean; result: { inquiryType: string; urgency: string; recommendedWorkflows: string[]; confidence: number; needsFollowup: boolean; followupType: string; aiAnalysis: any; }; error?: undefined; } | { success: boolean; error: string; result?: undefined; }>; /** * Compile comprehensive sales information using multiple agents */ handleCompileSalesInfo(params: any): Promise<{ success: boolean; data: any; agentsUsed: any; error?: undefined; } | { success: boolean; error: string; data?: undefined; agentsUsed?: undefined; }>; /** * Generate personalized email response */ handleGenerateEmailResponse(params: any): Promise<{ success: boolean; content: any; htmlContent: any; agentsUsed: string[]; }>; /** * Schedule email follow-up */ handleScheduleEmailFollowup(params: any): Promise<{ success: boolean; followupId: string; scheduledFor: string; conditions: any; error?: undefined; } | { success: boolean; error: string; followupId?: undefined; scheduledFor?: undefined; conditions?: undefined; }>; /** * Track email analytics */ handleEmailAnalytics(params: any): Promise<{ success: boolean; analyticsId: string; tracked: boolean; error?: undefined; } | { success: boolean; error: string; analyticsId?: undefined; tracked?: undefined; }>; private executeAgentWorkflow; private extractCompanyFromEmail; private classifyInquiryType; private determineUrgency; private getRecommendedWorkflows; private shouldScheduleFollowup; private getFollowupType; private calculateFollowupDate; /** * Handle email detection - Monitor for new incoming emails */ handleEmailDetection(params: any): Promise<{ success: boolean; emails: any; count: any; hasMore: any; nextTimestamp: any; accountType: any; error?: undefined; } | { success: boolean; error: string; emails?: undefined; count?: undefined; hasMore?: undefined; nextTimestamp?: undefined; accountType?: undefined; }>; /** * Handle email sending - Send emails via automation system */ handleEmailSending(params: any): Promise<{ success: boolean; messageId: any; status: any; recipients: any[]; scheduledFor: any; trackingEnabled: { opens: any; clicks: any; }; error?: undefined; } | { success: boolean; error: string; messageId?: undefined; status?: undefined; recipients?: undefined; scheduledFor?: undefined; trackingEnabled?: undefined; }>; /** * Handle email status monitoring */ handleEmailStatus(params: any): Promise<{ success: boolean; status: any; services: any; stats: any; queue: any; lastUpdated: any; error?: undefined; } | { success: boolean; error: string; status?: undefined; services?: undefined; stats?: undefined; queue?: undefined; lastUpdated?: undefined; }>; /** * Handle email template management */ handleEmailTemplates(params: any): Promise<{ success: boolean; action: any; data: any; templateId: any; error?: undefined; } | { success: boolean; error: string; action?: undefined; data?: undefined; templateId?: undefined; }>; /** * Handle email campaign management */ handleEmailCampaigns(params: any): Promise<{ success: boolean; action: any; data: any; campaignId: any; error?: undefined; } | { success: boolean; error: string; action?: undefined; data?: undefined; campaignId?: undefined; }>; }