outlook-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AZURE_CLIENT_ID | Yes | Your Azure AD application client ID | |
| AZURE_TENANT_ID | Yes | Your Azure AD directory (tenant) ID | |
| MCP_OUTLOOK_WORK_DIR | No | Directory for saving large files (defaults to system temp) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| outlook_list_emailsB | List emails from Outlook inbox or specified folder |
| outlook_send_emailB | Send an email through Outlook |
| outlook_get_emailC | Get detailed information about a specific email |
| outlook_search_emailsB | Search emails across all folders with advanced filters for analysis |
| outlook_create_draftB | Create an email draft without sending |
| outlook_reply_to_emailB | Reply to an existing email |
| outlook_reply_allB | Reply to all recipients of an existing email |
| outlook_forward_emailB | Forward an existing email to new recipients |
| outlook_delete_emailA | Delete an email (move to Deleted Items or permanently delete) |
| outlook_move_emailB | Move an email to a different folder |
| outlook_mark_as_readA | Mark an email as read or unread |
| outlook_flag_emailA | Flag or unflag an email for follow-up |
| outlook_categorize_emailC | Apply categories to an email |
| outlook_archive_emailA | Archive an email (move to Archive folder) |
| outlook_batch_process_emailsC | Perform bulk operations on multiple emails |
| outlook_list_eventsC | List calendar events from Outlook |
| outlook_create_eventC | Create a new calendar event in Outlook with optional Teams meeting integration |
| outlook_get_eventC | Get a specific calendar event |
| outlook_update_eventB | Update an existing calendar event |
| outlook_delete_eventB | Delete a calendar event |
| outlook_respond_to_inviteB | Respond to a meeting invitation |
| outlook_validate_event_datetimesC | Validate event start and end times |
| outlook_create_recurring_eventC | Create a recurring calendar event |
| outlook_find_meeting_timesC | Find optimal meeting times for attendees |
| outlook_check_availabilityC | Check availability for users |
| outlook_schedule_online_meetingC | Schedule an online meeting (Teams/Skype) |
| outlook_list_calendarsC | List available calendars |
| outlook_get_calendar_viewC | Get a view of a calendar for a specific time range |
| outlook_get_busy_timesC | Get busy times for users |
| outlook_build_recurrence_patternC | Build a recurrence pattern object |
| outlook_create_recurrence_helperC | Helper to create a recurring event with simplified inputs |
| outlook_check_calendar_permissionsB | Check permissions for a calendar |
| outlook_list_foldersC | List all email folders |
| outlook_create_folderC | Create a new email folder |
| outlook_rename_folderB | Rename an existing email folder |
| outlook_get_folder_statsC | Get statistics for a specific folder |
| outlook_list_attachmentsC | List all attachments for a specific email |
| outlook_download_attachmentC | Download a specific email attachment |
| outlook_add_attachmentB | Add an attachment to an email draft |
| outlook_scan_attachmentsC | Scan emails for large or suspicious attachments |
| outlook_get_sharepoint_fileA | Fetch a SharePoint file using the same authenticated session as Outlook. Handles sharing links from emails. Either sharePointUrl OR fileId must be provided. |
| outlook_list_sharepoint_filesB | List files in SharePoint sites or OneDrive folders using the same authenticated session |
| outlook_resolve_sharepoint_linkB | Resolve SharePoint sharing links from emails to get file metadata without downloading |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| check_recent_unread | Check unread emails from the last 36 hours, summarize them, and highlight action items |
| draft_reply | Draft a reply to a specific email with a specified tone |
| summarize_schedule | Summarize today's calendar events and schedule |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 43 tools
Most tools have clearly distinct purposes, but there are overlapping clusters: outlook_check_availability, outlook_find_meeting_times, and outlook_get_busy_times all deal with availability; outlook_create_recurring_event, outlook_create_recurrence_helper, and outlook_build_recurrence_pattern are related to recurrence. These may cause some confusion for an agent.
All tools follow a consistent outlook_verb_noun pattern (e.g., outlook_add_attachment, outlook_create_event). Naming is uniform and predictable, making it easy for an agent to infer functionality.
43 tools is on the higher side, but it covers a broad domain including email, calendar, folders, and SharePoint file operations. Each tool serves a specific function, so the count is reasonable for the scope, though slightly heavy.
The tool set provides comprehensive coverage for email lifecycle (create, send, reply, forward, move, delete, archive, flag, categorize, search) and calendar management (create, update, delete events, schedule meetings, check availability, manage permissions, recurrence). Additional tools for folder management, attachments, and SharePoint files fill potential gaps.