@aot-tech/gmail-mcp-server
Version:
Gmail MCP Server with Bearer Token Authentication - A Model Context Protocol server for Gmail access
103 lines (102 loc) • 2.14 kB
TypeScript
export interface GmailCredentials {
email?: string;
token: string;
}
export interface GmailMessage {
id: string;
threadId: string;
labelIds: string[];
snippet: string;
payload: GmailMessagePayload;
sizeEstimate: number;
historyId: string;
internalDate: string;
}
export interface GmailMessagePayload {
partId?: string;
mimeType: string;
filename?: string;
headers: GmailMessageHeader[];
body: GmailMessageBody;
parts?: GmailMessagePayload[];
}
export interface GmailMessageHeader {
name: string;
value: string;
}
export interface GmailMessageBody {
attachmentId?: string;
size: number;
data?: string;
}
export interface GmailLabel {
id: string;
name: string;
messageListVisibility?: string;
labelListVisibility?: string;
type?: string;
messagesTotal?: number;
messagesUnread?: number;
threadsTotal?: number;
threadsUnread?: number;
}
export interface GmailSearchResult {
messages: GmailMessage[];
nextPageToken?: string;
resultSizeEstimate: number;
}
export interface GmailLabelsResult {
labels: GmailLabel[];
}
export interface EmailData {
to: string[];
subject: string;
body: string;
cc?: string[];
bcc?: string[];
}
export interface EmailSearchQuery {
query: string;
maxResults?: number;
}
export interface EmailDetails {
id: string;
from: string;
to: string;
subject: string;
date: string;
body: string;
}
export interface SendEmailParams {
to: string[];
subject: string;
body: string;
cc?: string[];
bcc?: string[];
}
export interface SearchEmailsParams {
query: string;
maxResults?: number;
}
export interface ReadEmailParams {
messageId: string;
}
export interface DeleteEmailParams {
messageId: string;
}
export interface McpError {
jsonrpc: "2.0";
error: {
code: number;
message: string;
data?: string;
};
id: string | number | null;
}
export interface ToolResponse {
content: Array<{
type: 'text';
text: string;
}>;
isError?: boolean;
}