Email processing toolkit with base schemas, normalization utilities, and shared constants for Gmail/Outlook integration
npm install @mcp-z/email
import { parseAddresses, formatAddresses } from '@mcp-z/email';
const parsed = parseAddresses('John Doe <john@example.com>, jane@example.com');
const formatted = formatAddresses(parsed);
console.log(formatted); // john@example.com, jane@example.com
import { baseEmailQueryFields } from '@mcp-z/email';
import { z } from 'zod';
const QuerySchema = z.object({
...baseEmailQueryFields
});
import { normalizeDateToISO, stripHtml } from '@mcp-z/email';
const iso = normalizeDateToISO('Wed, 11 Sep 2024 10:30:00 -0400');
const text = stripHtml('<div>Hello <b>World</b></div>');
import { extractCurrentMessageFromHtmlToText, extractCurrentMessageFromText } from '@mcp-z/email';
const textFromHtml = extractCurrentMessageFromHtmlToText('<div>New reply</div><blockquote>Old</blockquote>');
const textFromPlain = extractCurrentMessageFromText('New reply\n\n> Old message');
import { baseEmailQueryFields, FieldOperatorSchema } from '@mcp-z/email';
import { z } from 'zod';
const QuerySchema = z.object({
...baseEmailQueryFields,
label: FieldOperatorSchema.optional()
});
import { ComposeContentTypeSchema, createEmailRecipientsSchema } from '@mcp-z/email';
import { z } from 'zod';
const InputSchema = z.object({
to: createEmailRecipientsSchema('To recipients'),
body: z.string().min(1),
contentType: ComposeContentTypeSchema.optional()
});
import { buildContentForItems } from '@mcp-z/email';
const content = buildContentForItems([{ id: '1', subject: 'Hello' }], 'emails');
parseAddresses(), formatAddresses()stripHtml(), extractCurrentMessageFromHtml(), extractCurrentMessageFromHtmlToText(), extractCurrentMessageFromText()normalizeDateToISO()baseEmailQueryFields, FieldOperatorSchema, EMAIL_FIELDS, EMAIL_FIELD_DESCRIPTIONS, EMAIL_COMMON_PATTERNSEmailSummarySchema, EmailDetailSchema, EmailContentTypeSchema, ExcludeThreadHistorySchemacreateEmailRecipientsSchema(), createMessageResultSchema(), ComposeContentTypeSchemabuildContentForItems()safeBase64UrlDecode()The package uses zod for its exported schemas. Install zod directly when your application imports it, as in the schema examples above: npm install zod.