Skip to main content
Glama

Outlook Diagnose

outlook_diagnose
Read-only

Checks which email accounts are configured in Microsoft Outlook and compares them with Mail.app. If Outlook has accounts not in Mail.app, guides the user to add them so all email tools work seamlessly.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
noteNoPlain-language guidance
reportNoFull formatted text report
pane_urlNoLink that opens that System Settings pane
installedYesTrue if Microsoft Outlook is installed
permissionNoThe permission to grant when Mail could not be read: mail_automation
grant_placeNoWhere the user grants it, e.g. System Settings → Privacy & Security → Automation
mail_app_errorNoNon-empty when Mail.app accounts could not be read (e.g. Automation permission denied/not determined) — an empty mail_app_accounts then means 'couldn't check', not 'zero accounts'
outlook_accountsNo
mail_app_accountsNo
mail_app_unconfirmedNoTrue when Mail.app could not be read: missing_from_mail_app lists what Microsoft 365 does not cover, not checked against Mail
missing_from_mail_appNoOutlook account emails no email or m365_* tool can read: not in Mail.app and not connected as Microsoft 365. Not confirmed when mail_app_unconfirmed is true (Mail could not be read)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedOutput schema / properties / grant_place
      Added value: +{
      +  "description": "Where the user grants it, e.g. System Settings → Privacy & Security → Automation",
      +  "type": "string"
      +}
    • addedOutput schema / properties / mail_app_unconfirmed
      Added value: +{
      +  "description": "True when Mail.app could not be read: missing_from_mail_app lists what Microsoft 365 does not cover, not checked against Mail",
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / missing_from_mail_app / description
      Previous value: -"Outlook account emails not present in Mail.app"New value: +"Outlook account emails no email or m365_* tool can read: not in Mail.app and not connected as Microsoft 365. Not confirmed when mail_app_unconfirmed is true (Mail could not be read)"
    • addedOutput schema / properties / pane_url
      Added value: +{
      +  "description": "Link that opens that System Settings pane",
      +  "type": "string"
      +}
    • addedOutput schema / properties / permission
      Added value: +{
      +  "description": "The permission to grant when Mail could not be read: mail_automation",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / outlook_accounts / items / properties / covered_by_m365
      Added value: +{
      +  "description": "Whether this account, absent from Mail.app, is connected as a Microsoft 365 account and read by the m365_* tools",
      +  "type": "boolean"
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties / mail_app_error
      Added value: +{
      +  "description": "Non-empty when Mail.app accounts could not be read (e.g. Automation permission denied/not determined) — an empty mail_app_accounts then means 'couldn't check', not 'zero accounts'",
      +  "type": "string"
      +}
  4. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: it is a comparison/diagnostic that may guide the user to take an action rather than silently fixing things, which tells the agent to expect an interactive follow-up rather than an automatic repair.

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 sentences, purpose front-loaded, and the second sentence carries only the actionable consequence. No filler or restatement of the name.

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?

Zero parameters and an output schema exists, so return values need no explanation. The description supplies the only things an agent needs: what is compared and what happens as a result.

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?

The tool takes zero parameters, so the baseline is 4 and there are no parameter semantics for the description to explain.

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: checks Outlook-configured email accounts and compares them against Mail.app. This distinguishes it from generic siblings like list_email_accounts or list_m365_accounts by making the cross-client comparison the core action, though it never names those siblings explicitly.

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 by the outcome ('so all email tools work seamlessly'), which tells an agent this is a troubleshooting step, but there is no explicit when-to-use, when-not-to-use, or named alternative such as list_email_accounts for a plain inventory.

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.

Resources