mariana-outlook-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mariana-outlook-mcpFind emails from my manager about Q3 planning"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mariana-outlook-mcp
A custom MCP (Model Context Protocol) server that gives Claude Code access to Outlook Mail, Calendar, and Contacts via Microsoft Graph — with safety-first defaults. Sibling of mariana-google-mcp, same architecture pointed at Microsoft accounts (M365 work/school and personal Outlook/Hotmail).
Design Philosophy
Built for an operator who wants AI help managing their mailbox without risk of accidental damage:
No sending email — enforced by Microsoft, not just this code. The server never requests the
Mail.Sendpermission, so its tokens are physically incapable of sending. You draft; you send from Outlook.No deleting anything. Mail moves to a "To Be Deleted" folder (reversible). Calendar events get "DELETE - " prepended to the title. You review and confirm in the Outlook UI.
Every mutation is logged. An append-only JSONL action log records every write with timestamps, tool name, account, and summary.
Multi-account support. Work and personal Microsoft accounts under named aliases.
No client secret. Desktop PKCE flow — the only credential is a public Application ID.
Related MCP server: Outlook MCP Server
Setup
Easiest path: paste this one line into Claude Code and it runs the entire setup for you, including guiding you through the Azure clicks:
Fetch https://raw.githubusercontent.com/marianasmall/mariana-outlook-mcp/main/SETUP-PROMPT.md and follow the instructions in it.
The manual steps below cover the same ground.
1. Azure App Registration
Go to portal.azure.com → search "App registrations" → New registration
Name: "Claude Code". Supported account types: Accounts in any organizational directory and personal Microsoft accounts (the option that includes personal accounts)
Redirect URI: platform Public client/native (mobile & desktop), value
http://localhostRegister, then copy the Application (client) ID from the Overview page
Under Authentication, set "Allow public client flows" to Yes
No client secret is created — this is a PKCE public client.
2. Install and Build
git clone https://github.com/marianasmall/mariana-outlook-mcp.git
cd mariana-outlook-mcp
npm install
npm run build3. Add to Claude Code
claude mcp add outlook --scope user \
-e MS_CLIENT_ID="<application-client-id>" \
-- node /FULL/PATH/TO/mariana-outlook-mcp/dist/index.jsOptional: set MS_TENANT to a specific tenant ID (defaults to common, which accepts both work and personal accounts). Restart Claude Code after adding.
4. Authenticate
Run the microsoft_auth tool with a friendly account name (e.g. consulting, personal). A browser window opens for consent; approve as the matching Microsoft account. Repeat per account. Verify with microsoft_status.
Available Tools (20)
Authentication & Status
Tool | Description |
| Authenticate a Microsoft account via OAuth browser flow (PKCE) |
| Live connection health for all configured accounts |
Mail (10 tools)
Tool | Description |
| Search messages (KQL: from:, subject:, or keywords) |
| Read a specific message by ID (plain-text body + attachment names) |
| Create a draft — plain text or rich HTML body, attachments (≤3MB/file), optional reply-in-thread (does NOT send) |
| List mail folders with unread counts |
| List categories (the Gmail-labels equivalent) |
| Create a category |
| Apply a category to messages |
| Remove a category from messages |
| Create an inbox rule (the Gmail-filter equivalent) |
| Soft-delete: move messages to a "To Be Deleted" folder |
Calendar (7 tools)
Tool | Description |
| List upcoming events |
| Search events by title keyword |
| Full details of one event |
| Create an event (attendees NOT invited by default) |
| Modify an event (attendee-notification caveat in tool description) |
| Soft-delete: prepend "DELETE - " to the title |
| Free/busy blocks for a date range |
Contacts (2 tools)
Tool | Description |
| Search contacts by name, email, or phone |
| List contacts, optionally filtered |
Multi-Account Support
microsoft_auth account_name: "consulting"
microsoft_auth account_name: "personal"Most tools accept an optional account parameter; omitted, they use the default (first-connected) account. microsoft_status shows all accounts and their health.
Configuration Files
All state lives in ~/.config/mariana-outlook-mcp/:
File | Purpose |
| Account registry (aliases, email hashes, default) |
| OAuth tokens per account (never leave this machine) |
| Append-only log of every write operation |
Graph-vs-Gmail Differences Worth Knowing
Categories ≈ labels; folders ≈ folders. Outlook has both. Categories apply like Gmail labels; soft-delete uses a folder because that's the native Outlook idiom.
Reply drafts take a
reply_to_message_id(Graph threads replies from a message, not a thread ID).Moved messages get new IDs — Graph reassigns message IDs on folder moves.
Attendee invitations: Outlook sends invitation/update emails itself when an event has attendees;
calendar_createtherefore defaults to NOT attaching attendees (names go in the description) unlesssend_invites=true.Refresh tokens last ~90 days sliding for personal accounts — regular use keeps them alive indefinitely; a long-unused account may need re-auth.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceConnects Claude with Microsoft Outlook through the Graph API, providing comprehensive email, calendar, folder management, and rules creation capabilities.Last updated19
- Alicense-qualityCmaintenanceConnects Claude to Microsoft Outlook through the Microsoft Graph API, enabling email management (list, search, read, send) and calendar operations (list, create, accept, decline, delete events) via OAuth 2.0 authentication.Last updated1MIT
- Flicense-qualityCmaintenanceProvides Claude Desktop and Claude Code with access to Microsoft 365 email and calendar services via the Microsoft Graph API. It enables users to manage emails, search folders, schedule calendar events, and check availability through natural language commands.Last updated
- Alicense-qualityCmaintenanceConnects Claude with Microsoft 365 services such as Email, Calendar, Teams, OneDrive, and more through the Microsoft Graph API.Last updated8316MIT
Related MCP Connectors
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marianasmall/mariana-outlook-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server