@alexdiazdecerio/fastmail-mcp-server
Version:
🚀 Professional MCP Server for Fastmail email management using JMAP API - Integrates seamlessly with Claude Desktop and other AI assistants
92 lines • 2.59 kB
TypeScript
import { FastmailClient } from './fastmail-client.js';
export interface EmailAnalytics {
emailVolume: {
totalEmails: number;
sentEmails: number;
receivedEmails: number;
periodStart: string;
periodEnd: string;
};
topSenders: Array<{
email: string;
name?: string;
count: number;
percentage: number;
}>;
activityPatterns: {
byHour: Array<{
hour: number;
count: number;
}>;
byDay: Array<{
day: string;
count: number;
}>;
byMonth: Array<{
month: string;
count: number;
}>;
};
folderUsage: Array<{
folderName: string;
emailCount: number;
percentage: number;
}>;
contentInsights: {
averageEmailLength: number;
totalAttachments: number;
commonKeywords: Array<{
word: string;
frequency: number;
}>;
subjectAnalysis: Array<{
pattern: string;
count: number;
}>;
};
responseMetrics: {
averageResponseTime: number;
unreadCount: number;
unreadPercentage: number;
oldestUnread?: string;
};
}
export declare class EmailAnalyticsEngine {
private fastmailClient;
constructor(fastmailClient: FastmailClient);
/**
* Generate comprehensive email analytics for a given period
*/
generateAnalytics(options?: {
startDate?: string;
endDate?: string;
maxEmails?: number;
includeContent?: boolean;
}): Promise<EmailAnalytics>;
/**
* Get volume analytics for the specified period
*/
getVolumeAnalytics(days?: number): Promise<EmailAnalytics['emailVolume']>;
/**
* Get top senders analytics
*/
getTopSenders(limit?: number, days?: number): Promise<EmailAnalytics['topSenders']>;
/**
* Get activity patterns for visualization
*/
getActivityPatterns(days?: number): Promise<EmailAnalytics['activityPatterns']>;
/**
* Generate a comprehensive email report
*/
generateEmailReport(days?: number): Promise<string>;
private getEmailsInPeriod;
private calculateVolumeAnalytics;
private calculateSenderAnalytics;
private calculateTemporalAnalytics;
private calculateFolderAnalytics;
private calculateContentAnalytics;
private calculateResponseMetrics;
private formatAnalyticsReport;
private generateRecommendations;
}
//# sourceMappingURL=email-analytics.d.ts.map