@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
TypeScript
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;
}>;
}