Skip to main content
Glama

Mark Outlook email

mark_outlook_message
Destructive

Mark one Outlook message read, unread, flagged or unflagged. Use only when the user asked for it.

Input Schema

NameRequiredDescriptionDefault
markYes
accountNoEmail address of one connected Outlook mailbox. Omit to use every connected mailbox.
message_idYesThe Outlook message id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the mutation profile is known. The description adds the scope ("one" message) and the restraint condition, but says nothing about reversibility (read/unread and flagged/unflagged are trivially undoable despite the destructive flag) or whether the change is pushed to the Outlook server. It does not contradict the annotations.

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 short, front-loaded sentences with zero filler: capability first, constraint second. Nothing is repeated from the title or wasted.

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

Completeness3/5

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

With no output schema and an undescribed enum parameter, the description should say what the caller observes on success (does it return the updated message, just an ack, or nothing?) and how per-mailbox behavior interacts with the account parameter. Those gaps are modest but real for a mutation tool.

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 coverage is 67%: message_id and the account fallback ("omit to use every connected mailbox" — a meaningful multi-mailbox behavior) are documented in the schema, but `mark` has no description. The description's list of the four mark values only restates the enum, adding no semantics beyond the schema.

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 (mark) and resource (one Outlook message) and enumerates the four supported states, which cleanly separates it from get_outlook_message, search_outlook_messages and archive_outlook_message. It stops short of naming any sibling explicitly, so an agent still infers the boundary rather than being told it.

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?

"Use only when the user asked for it" is a real guardrail against proactively mutating a mailbox, which is useful given destructiveHint=true. However, it gives no routing guidance: nothing says to use get_outlook_message/search_outlook_messages when the user merely wants to see status, and no prerequisites (e.g. valid message id, mailbox connected) are mentioned.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.