Skip to main content
Glama
Khomiakov7706

owa-mail-mcp

Search mail

search_messages
Read-only

Search Exchange mailbox messages by text, sender, recipient, subject, date range, folder, attachments or unread status, returning the newest matches first.

Instructions

Finds messages, newest first. Combine any filters. With text, sender, recipient or subject, Exchange's full-text index is used and only the newest 500 matches are checked against the dates and flags: narrow the words if complete is false.

Input Schema

NameRequiredDescriptionDefault
textNoWords to find in the subject, body or attachments' names (Exchange full-text search; AQS like `budget AND q4` works).
limitNoDefault 20.
sinceNoYYYY-MM-DD, ISO 8601 date-time, today, yesterday, or relative like 7d / 12h / 2w.
untilNoYYYY-MM-DD, ISO 8601 date-time, today, yesterday, or relative like 7d / 12h / 2w.
folderNoWhere to look. `all` covers every mail folder except Deleted Items, Junk, Drafts and Outbox.inbox_and_sent
senderNoName or email of the sender.
subjectNoWords in the subject.
recipientNoName or email of a recipient (To or Cc).
unread_onlyNo
has_attachmentsNotrue: only with attachments; false: only without.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations by disclosing the Exchange full-text index path, the 500-newest-match cap, and the interaction between the index and date/flag filters. The reference to `complete` is opaque (it is not an input parameter), which slightly weakens an otherwise strong behavioural disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very compact, front-loads the verb/resource and ordering, then adds the index mechanics. The final clause is dense and slightly run-on, but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter tool with an output schema, the description covers the query-execution model, result ordering and the truncation limit. The only real gap is that `complete` is referenced without explanation, though it is plausibly an output-schema field the agent can inspect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 90%, so the baseline is 3, but the description adds genuine meaning: it clarifies which fields (text, sender, recipient, subject) route through the full-text index and how those results are then narrowed by dates and flags. That is semantic behaviour the schema does not express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Finds messages') plus ordering ('newest first') and the filter-combination capability. It does not explicitly distinguish itself from siblings like get_message, check_mail or list_senders, so an agent must infer that this is the general purpose searcher, but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied ('Combine any filters') and there is a useful caveat about narrowing words when `complete` is false, but no explicit when-to-use-this vs get_message/check_mail routing or preconditions. The agent is told how the search behaves, not when to prefer it over a sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.