@dockndevai/mcp-outlook
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OUTLOOK_AUTH | No | Authentication mode. When not set, the mode is chosen automatically: interactive if only OUTLOOK_CLIENT_ID is set, client-credentials if OUTLOOK_CLIENT_SECRET is set, token if OUTLOOK_TOKEN is set. | |
| OUTLOOK_MODE | No | Access mode: read-only (default), read-write, or admin. Controls which tools are registered. | read-only |
| OUTLOOK_USER | No | The mailbox to act on when using client-credentials authentication (app-only), since an app token has no signed-in user. | |
| OUTLOOK_TOKEN | No | A pre-obtained Microsoft Graph bearer token for token-based authentication. Its presence selects token mode. | |
| OUTLOOK_DRY_RUN | No | Set to 'true' to validate and log writes without executing them. Defaults to 'false'. | false |
| OUTLOOK_AUDIT_LOG | No | Set to 'false' to disable JSON audit logging to stderr. Defaults to 'true'. | true |
| OUTLOOK_CLIENT_ID | No | The Application (client) ID from your Entra (Azure AD) app registration. Required for interactive and client-credentials authentication. | |
| OUTLOOK_TENANT_ID | No | The tenant ID (e.g., 'common' for Microsoft accounts) required for client-credentials authentication; also often set to 'common' in interactive mode. | |
| OUTLOOK_ALLOW_SEND | No | Set to 'true' to allow sending, replying, and forwarding messages (requires read-write mode). Defaults to 'false'. | false |
| OUTLOOK_ALLOW_DELETE | No | Set to 'true' to allow deleting messages (requires admin mode). Defaults to 'false'. | false |
| OUTLOOK_CLIENT_SECRET | No | Client secret for app-only (client-credentials) authentication. Its presence selects client-credentials mode. | |
| OUTLOOK_FOLDER_ALLOWLIST | No | Comma-separated list of folders that may be written to or moved into. | |
| OUTLOOK_PROTECTED_FOLDERS | No | Comma-separated list of folders (e.g., 'sentitems', 'archive') that may be read but never modified. |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | Return the signed-in mailbox's identity (display name, user principal name, id). Use this to confirm which mailbox the server is operating on before reading or writing. |
| list_foldersA | List the mailbox's top-level mail folders with their ids, display names, and unread/total counts. Use a folder id or well-known name (inbox, sentitems, drafts, archive) with list_messages. |
| list_messagesA | List messages, most recent first. Optionally scope to a folder and/or only unread messages. Returns compact summaries (id, subject, from, received, isRead, hasAttachments, preview). Fetch full bodies with get_message. |
| search_messagesA | Full-text search across the mailbox (subject, body, sender, recipients) using Microsoft Graph $search. Example queries: "invoice", "from:alice@contoso.com", "subject:release". Returns compact summaries. |
| get_messageA | Fetch a single message by id with its full body, recipients (to/cc/bcc), importance, and conversation id. Get ids from list_messages or search_messages. |
| list_attachmentsA | List a message's attachments as metadata only (id, name, contentType, size, isInline). Attachment bytes are intentionally not returned. |
| list_contactsA | List the mailbox's personal contacts (display name, email addresses, company). |
| list_drive_itemsA | List the files and folders in a OneDrive folder. Give a |
| get_drive_itemA | Fetch metadata for a single OneDrive file or folder by |
| search_drive_filesA | Search across OneDrive for files and folders matching a query (name/content). |
| download_drive_fileA | Download a OneDrive file's contents as text (capped at ~1 MB). Best for text/markdown/JSON/CSV; binary files come back as best-effort UTF-8, so prefer webUrl for those. Give |
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 11 tools
Each tool targets a distinct resource or action: OneDrive file operations vs mailbox message/contact/folder operations are clearly separated, and within each domain, listing, searching, fetching, and metadata retrieval are unambiguous. No two tools overlap in purpose.
All tool names follow a consistent verb_noun snake_case pattern (e.g., list_messages, get_drive_item, search_drive_files). The only exception is whoami, which is a conventional standalone verb but still fits the pattern of imperative commands.
With 11 tools, the server is well-scoped for an Outlook/OneDrive integration. It covers both mailbox and drive domains without redundancy, and the count is within the ideal 3-15 range.
The tool set provides thorough read and search capabilities for messages, contacts, folders, and OneDrive files, but lacks any write operations (e.g., send message, create folder, upload file). This is a notable gap for a full Outlook integration, though it may be intentional for a read-only server.