Skip to main content
Glama
giuseppeferretti

outlook-triage-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OUTLOOK_MCP_CACHE_DIRNoToken cache location.~/.local/share/outlook-triage-mcp
OUTLOOK_MCP_CLIENT_IDNoAzure AD app registration. The default is Microsoft's own Graph CLI public client.14d82eec-…
OUTLOOK_MCP_TENANT_IDNoRestrict sign-in to a specific tenant.common
OUTLOOK_MCP_USER_EMAILYesYour address; used to pick the cached account and to classify self-sent mail.
OUTLOOK_MCP_VIP_SENDERSNoComma-separated overrides for VIP senders.
OUTLOOK_MCP_ENABLE_WRITENoSet to '1' to enable ensure_inbox_rule (requests write scopes on next sign-in).0
OUTLOOK_MCP_CLASSIFY_FILENoJSON file overriding heuristic keyword lists.
OUTLOOK_MCP_ACTION_KEYWORDSNoComma-separated overrides for action keywords.
OUTLOOK_MCP_URGENT_KEYWORDSNoComma-separated overrides for urgent keywords.
OUTLOOK_MCP_NEWSLETTER_SENDERSNoComma-separated overrides for newsletter sender patterns.
OUTLOOK_MCP_NEWSLETTER_KEYWORDSNoComma-separated overrides for newsletter keywords.
OUTLOOK_MCP_MAX_ATTACHMENT_BYTESNoAttachments larger than this are listed, not parsed.5242880

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
auth_statusA

Check Microsoft 365 auth state; start device-code sign-in if needed.

When sign-in is required, returns a verification URL and a user code — relay both to the user, then call this tool again to confirm completion.

search_messagesA

Search or list mail messages. Read-only.

Args: query: Free-text search (Graph $search / KQL, e.g. 'invoice', 'from:alice subject:report'). Empty = list newest first. folder: Well-known folder (inbox, archive, drafts, sentitems, deleteditems, junkemail, outbox) or a custom folder display name. top: Max messages to return (1-100). since: Only messages received after this point. ISO 8601 ('2026-07-01T00:00:00Z') or relative ('24h', '7d').

get_messageA

Fetch one message: full plain-text body plus metadata. Read-only.

Args: message_id: Graph message id (from search_messages or daily_briefing). include_attachments: Also download attachments and extract text locally from PDF / DOCX / XLSX (other types are listed only).

daily_briefingA

Classified digest of recent inbox mail. Read-only, no LLM calls.

Groups messages from the last N hours into: urgent, action_needed, fyi, newsletter — using deterministic keyword heuristics (configurable via OUTLOOK_MCP_* env vars or a JSON rules file). Returns Markdown.

list_inbox_rulesA

List all inbox message rules (name, state, conditions, actions). Read-only.

ensure_inbox_ruleA

Idempotently provision one inbox rule. THE ONLY WRITE TOOL.

Creates (or converges) a rule: messages whose sender matches from_contains are moved to folder move_to_folder (created if missing). Safe to run repeatedly — an already-correct rule results in zero write calls; never duplicates rules or folders.

Disabled unless the server runs with OUTLOOK_MCP_ENABLE_WRITE=1 (which also requires re-consenting to write scopes on next sign-in).

Args: name: Rule display name — the idempotency key. from_contains: Substring matched against the sender address/name. move_to_folder: Target folder display name.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/giuseppeferretti/outlook-triage-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server