UNPKG

msexchange-mcp

Version:

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

56 lines 2.35 kB
import { z } from 'zod'; import { getGraphClient } from '../graph/graphClient.js'; import accountsConfig from '../config/accountsLoader.js'; export const getMailboxProfileTool = { name: 'get_mailbox_profile', description: 'Get mailbox profile information for a user', parameters: z.object({ user_id: z.string().describe('The user ID or email address'), }), execute: async (params) => { try { // Find account in config 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); // Get user profile const user = await client.api('/me').get(); // Get mailbox settings const mailboxSettings = await client.api('/me/mailboxSettings').get(); return { content: [ { type: 'text', text: JSON.stringify({ id: user.id, displayName: user.displayName, mail: user.mail, userPrincipalName: user.userPrincipalName, jobTitle: user.jobTitle, officeLocation: user.officeLocation, mailboxSettings: { timeZone: mailboxSettings.timeZone, automaticRepliesSetting: mailboxSettings.automaticRepliesSetting, language: mailboxSettings.language?.displayName, workingHours: mailboxSettings.workingHours, }, }, null, 2), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error getting mailbox profile: ${error instanceof Error ? error.message : 'Unknown error'}`, }, ], }; } }, }; //# sourceMappingURL=getMailboxProfile.js.map