UNPKG

msexchange-mcp

Version:

MCP server for Microsoft Exchange/Outlook email operations via Microsoft Graph API

57 lines 2.44 kB
import { z } from 'zod'; import { MailService } from '../mail/mailService.js'; import accountsConfig from '../config/accountsLoader.js'; export const getEmailByIdTool = { name: 'get_email_by_id', description: 'Get a specific email by its ID', parameters: z.object({ user_id: z.string().describe('The user ID or email address'), message_id: z.string().describe('The email message ID'), }), execute: async (params) => { try { const account = accountsConfig.accounts.find(acc => acc.id === params.user_id || acc.email === params.user_id); if (!account) { throw new Error(`User not found: ${params.user_id}`); } const mailService = new MailService(account.email); const email = await mailService.getEmailById(params.message_id); return { content: [ { type: 'text', text: JSON.stringify({ id: email.id, subject: email.subject, from: email.from?.emailAddress, to: email.toRecipients?.map(r => r.emailAddress), cc: email.ccRecipients?.map(r => r.emailAddress), bcc: email.bccRecipients?.map(r => r.emailAddress), receivedDateTime: email.receivedDateTime, sentDateTime: email.sentDateTime, hasAttachments: email.hasAttachments, importance: email.importance, isRead: email.isRead, isDraft: email.isDraft, body: email.body, categories: email.categories, conversationId: email.conversationId, attachments: email.attachments, }, null, 2), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error getting email: ${error instanceof Error ? error.message : 'Unknown error'}`, }, ], }; } }, }; //# sourceMappingURL=getEmailById.js.map