@aot-tech/gmail-mcp-server
Version:
Gmail MCP Server with Bearer Token Authentication - A Model Context Protocol server for Gmail access
68 lines (67 loc) • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sendEmailTool = void 0;
const email_schemas_1 = require("../validation/email-schemas");
const api_1 = require("../gmail-sdk/api");
const email_1 = require("../utils/email");
exports.sendEmailTool = {
name: 'gmail_send_email',
description: 'Send an email via Gmail',
parameters: {
type: 'object',
properties: {
to: {
type: 'array',
items: { type: 'string', format: 'email' },
description: 'Array of recipient email addresses',
minItems: 1,
},
subject: {
type: 'string',
description: 'Email subject line',
},
body: {
type: 'string',
description: 'Email body content (plain text)',
},
cc: {
type: 'array',
items: { type: 'string', format: 'email' },
description: 'Array of CC email addresses (optional)',
},
bcc: {
type: 'array',
items: { type: 'string', format: 'email' },
description: 'Array of BCC email addresses (optional)',
},
},
required: ['to', 'subject', 'body'],
},
handler: async (args) => {
try {
const emailData = email_schemas_1.SendEmailSchema.parse(args);
const encodedMessage = (0, email_1.createEmailMessage)(emailData);
const result = await (0, api_1.sendEmail)(encodedMessage);
return {
content: [
{
type: 'text',
text: `Email sent successfully! Message ID: ${result.id}`,
},
],
};
}
catch (error) {
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
return {
content: [
{
type: 'text',
text: `Error sending email: ${errorMessage}`,
},
],
isError: true,
};
}
},
};