UNPKG

systemprompt-mcp-gmail

Version:

A specialized Model Context Protocol (MCP) server that enables you to search, read, delete and send emails from your Gmail account, leveraging an AI Agent to help with each operation.

46 lines (45 loc) 1.98 kB
import { GoogleBaseService } from "./google-base-service.js"; import { gmail_v1 } from "googleapis/build/src/apis/gmail/v1.js"; import { EmailMetadata, SendEmailOptions, DraftEmailOptions } from "../types/gmail-types.js"; export declare class GmailService extends GoogleBaseService { private gmail; private labelCache; private gmailInitPromise; constructor(); private initializeGmailClient; private ensureInitialized; private loadLabels; private parseEmailAddress; private getMessageMetadata; private extractEmailMetadata; listMessages(maxResults?: number): Promise<EmailMetadata[]>; getMessage(messageId: string): Promise<EmailMetadata & { body: string; }>; searchMessages(query: string, maxResults?: number): Promise<EmailMetadata[]>; getLabels(): Promise<gmail_v1.Schema$Label[]>; private createEmailRaw; sendEmail(options: SendEmailOptions): Promise<string>; createDraft(options: DraftEmailOptions): Promise<string>; updateDraft(options: DraftEmailOptions): Promise<string>; listDrafts(maxResults?: number): Promise<EmailMetadata[]>; deleteDraft(draftId: string): Promise<void>; getDraft(draftId: string): Promise<EmailMetadata & { body: string; }>; modifyMessage(messageId: string, options: { addLabelIds?: string[]; removeLabelIds?: string[]; }): Promise<EmailMetadata>; trashMessage(messageId: string): Promise<void>; untrashMessage(messageId: string): Promise<void>; deleteMessage(messageId: string): Promise<void>; createLabel(name: string, options?: { textColor?: string; backgroundColor?: string; messageListVisibility?: "hide" | "show"; labelListVisibility?: "labelHide" | "labelShow" | "labelShowIfUnread"; }): Promise<gmail_v1.Schema$Label>; deleteLabel(labelId: string): Promise<void>; replyEmail(messageId: string, body: string, isHtml?: boolean): Promise<string>; }