UNPKG

msexchange-mcp

Version:

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

49 lines 1.96 kB
import { z } from 'zod'; import { getGraphClient } from '../graph/graphClient.js'; import accountsConfig from '../config/accountsLoader.js'; export const forwardEmailTool = { name: 'forward_email', description: 'Forward an email to other recipients', parameters: z.object({ user_id: z.string().describe('The user ID or email address'), message_id: z.string().describe('The email message ID to forward'), to_recipients: z.array(z.string()).describe('Array of recipient email addresses'), comment: z.string().optional().describe('Optional comment to add to the forwarded message'), }), 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 client = await getGraphClient(account.email); await client .api(`/users/${account.email}/messages/${params.message_id}/forward`) .post({ comment: params.comment || '', toRecipients: params.to_recipients.map(email => ({ emailAddress: { address: email } })), }); return { content: [ { type: 'text', text: `Email forwarded successfully to ${params.to_recipients.join(', ')}.`, }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error forwarding email: ${error instanceof Error ? error.message : 'Unknown error'}`, }, ], }; } }, }; //# sourceMappingURL=forwardEmail.js.map