outlook-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_foldersA | List all mail folders across every account/store in Outlook. |
| list_emailsA | List recent emails in a folder, newest first. Args: folder: Folder name or path, e.g. "Inbox", "Sent Items", "Inbox/Receipts". count: Maximum number of emails to return (1-100). unread_only: Only return unread emails. |
| get_emailA | Read a full email by its entry_id (from list_emails/search_emails). Args: entry_id: The Outlook EntryID of the email. body_max_chars: Truncate the body after this many characters. |
| search_emailsA | Search emails in a folder by subject, sender, or body text. Args: query: Text to search for. folder: Folder to search in. count: Maximum results (1-100). search_in: One of "subject", "from", "body", "all". |
| save_attachmentsA | Save all attachments of an email to a local directory. Args: entry_id: The email's EntryID. save_dir: Directory to save into (created if missing). |
| send_emailA | Send a new email (or save it as a draft) through Outlook. Args: to: Recipient address(es), separated by semicolons. subject: Email subject. body: Email body text (or HTML if html=True). cc: CC address(es), semicolon-separated. bcc: BCC address(es), semicolon-separated. html: Treat body as HTML. attachments: Absolute paths of files to attach. save_as_draft: Save to Drafts instead of sending. |
| reply_to_emailA | Reply to an email. The original message is quoted below your reply. Args: entry_id: EntryID of the email to reply to. body: Your reply text. reply_all: Reply to all recipients instead of just the sender. save_as_draft: Save to Drafts instead of sending. |
| forward_emailA | Forward an email (attachments included). Args: entry_id: EntryID of the email to forward. to: Recipient address(es), semicolon-separated. comment: Optional text placed above the forwarded message. save_as_draft: Save to Drafts instead of sending. |
| mark_emailB | Mark an email as read or unread. |
| move_emailB | Move an email to another folder. Args: entry_id: EntryID of the email to move. target_folder: Destination folder name or path. |
| delete_emailC | Delete an email (moves it to Deleted Items). |
| list_calendar_eventsA | List calendar events in a date window around today. Args: days_ahead: How many days into the future to include. days_back: How many days into the past to include. |
| create_calendar_eventA | Create a calendar event, optionally sending invites to attendees. Args: subject: Event title. start: Start time as "YYYY-MM-DD HH:MM". duration_minutes: Length of the event in minutes. location: Optional location. body: Optional description. attendees: Optional semicolon-separated attendee addresses; if given, the event is sent as a meeting invitation. |
| list_contactsB | List contacts from the default Contacts folder, optionally filtered. Args: search: Optional substring to match against name/email/company. count: Maximum contacts to return (1-200). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct operation (email, calendar, contacts, folders) with clear boundaries. There is no overlap; for example, 'send_email' and 'reply_to_email' are distinct actions, and 'list_emails' and 'search_emails' serve different purposes.
All tools follow a consistent verb_noun pattern (e.g., create_calendar_event, delete_email, list_folders). The naming is uniform and predictable, making it easy for an agent to infer the action from the name.
With 14 tools, the set is well-scoped for an Outlook integration covering emails, calendar, contacts, and folders. It provides sufficient functionality without being overwhelming or too sparse.
Email operations are comprehensive (CRUD, search, forward, reply, mark, move, save attachments). However, calendar and contacts are limited: calendar only has create and list (missing update/delete), contacts only have list. This leaves minor but notable gaps.