Skip to main content
Glama
Khomiakov7706

owa-mail-mcp

Check mail

check_mail
Read-only

List unread or new inbox messages, newest first, with sender, subject, time, and preview so you can triage mail quickly.

Instructions

New mail: messages in the Inbox (by default unread ones), newest first, with sender, subject, time and a short preview. For a message's full text use get_message; for a whole conversation, get_thread.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 25.
sinceNoYYYY-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
unread_onlyNoOnly unread messages. Default true.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds useful behavioral context beyond annotations: default unread filtering, inbox default, newest-first ordering, and the fields shown (sender, subject, time, short preview). It does not disclose pagination behavior or rate limits, but that is a minor gap given the annotation coverage.

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

Conciseness5/5

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

Two tightly written sentences with no waste. The core behavior and output shape are front-loaded, followed immediately by routing to the correct sibling tools.

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

Completeness5/5

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

Given that the schema fully describes parameters and an output schema exists, the description provides enough context to invoke the tool correctly. It covers the default behavior, result ordering, returned fields, and when to use deeper-view alternatives.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are fully documented in the schema. The description reinforces the default unread-only and inbox scope, but adds little beyond what the schema already states. Baseline 3 is appropriate when the schema carries the parameter semantics.

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

Purpose5/5

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

States a specific verb and resource ('New mail: messages in the Inbox') plus scope details (default unread, newest first, returned fields). It explicitly names the sibling tools for deeper views (get_message for full text, get_thread for conversations), so an agent can distinguish it from those alternatives without inspecting schemas.

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

Usage Guidelines4/5

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

Provides clear context for when to use this list view versus drilling into a single message or a whole conversation, naming both alternatives. It does not explicitly address when to use search_messages or list_senders instead, but the implied 'new mail' scope is strong.

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