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