Skip to main content
Glama
acangialosi

outlook-mcp-server

by acangialosi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OUTLOOK_MCP_TENANTNoThe Azure tenant to use. Defaults to 'consumers' for personal accounts.consumers
OUTLOOK_MCP_CLIENT_IDYesAzure app registration's client ID
OUTLOOK_MCP_CONFIG_DIRNoDirectory where config and token cache are stored. Defaults to ~/.outlook-mcp-server.~/.outlook-mcp-server
OUTLOOK_MCP_REDIRECT_URINoRedirect URI that exactly matches the Azure app registration
OUTLOOK_MCP_CLIENT_SECRETNoOnly needed if using a confidential client (Web platform)

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_messagesA

List messages from a mail folder (default: inbox), newest first by default. Supports date-range and read/unread filtering. Use list_folders first if you need a folder ID other than a well-known name like 'inbox', 'drafts', 'sentitems', 'archive', or 'junkemail'.

get_messageA

Fetch the full content (including body, all recipients, and sender) of a single message by its Graph message ID, as returned by list_messages or search_messages.

search_messagesA

Full-text search across mail (subject, body, sender, recipients, attachments) using Microsoft Graph's $search, ranked by relevance. Optionally scope the search to one folder. For structured filtering (date ranges, read/unread) without free-text search, prefer list_messages instead.

send_messageA

Send a new email immediately from the signed-in mailbox. This sends right away — there is no confirmation step, so only call this once you (and the user, if appropriate) are sure about the recipients and content. Use create_draft instead if the message should be reviewed before sending.

create_draftA

Create a draft message in the mailbox's Drafts folder without sending it. Prefer this over send_message whenever the user should review the email first.

list_foldersA

List top-level mail folders in the mailbox (Inbox, Sent Items, Drafts, Archive, custom folders, etc.) along with their IDs and item counts. Use a returned folder ID with list_messages or search_messages to target that folder.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.3/5.0

Scored across 6 tools

Disambiguation4/5

Most tools have clearly distinct purposes: listing, fetching, searching, folder enumeration, sending, and drafting. The only possible confusion is between list_messages and search_messages, but their descriptions clearly differentiate structured filtering from full-text relevance search.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: list_messages, get_message, search_messages, list_folders, send_message, create_draft. There are no style mixups or vague verbs.

Tool Count5/5

Six tools is a well-scoped set for an Outlook mail server. Each tool covers a distinct core email operation without unnecessary bloat or missing essentials.

Completeness4/5

The tool surface covers the primary mail workflows: listing, searching, reading, sending, drafting, and folder navigation. Some common operations like reply, forward, delete, move, or updating drafts are absent, but the core read/send workflow is solid.

Maintenance

ActivitySlowing
ResponsivenessNo issues