What it is
An Outlook client over the Microsoft Graph API, consolidated into 22 tools that each take an action parameter instead of one tool per operation. Works with personal Outlook.com accounts and work or school Microsoft 365 accounts.
Requirements
Node.js 18.0.0 or higher and your own Azure app registration — there is no shared app to borrow. Add the Microsoft Graph delegated permissions (offline_access, User.Read, the Mail, Calendars and Contacts scopes, MailboxSettings.ReadWrite, People.Read), turn on "Allow public client flows", and create a client secret, copying the Value rather than the Secret ID. Pass them as OUTLOOK_CLIENT_ID and OUTLOOK_CLIENT_SECRET. Authentication defaults to the device code flow, which needs no local server and works headless; tokens are written to ~/.outlook-assistant-tokens.json and refresh themselves, and the browser redirect flow on port 3333 is the alternative. Two settings are worth turning on from day one because both are off by default: OUTLOOK_MAX_EMAILS_PER_SESSION caps sends and OUTLOOK_ALLOWED_RECIPIENTS restricts who can receive them. Shared mailboxes need Mail.Read.Shared, and meeting-room search needs Place.Read.All with admin consent — work or school accounts only.
Setup effort
One command plus credentials — npm install -g @littlebearapps/outlook-assistant, then supply credentials