Skip to main content
Glama

Triage: mail, newsletters, VIPs and rules in one view

triage
Read-onlyIdempotent

The one place to manage email: the same interactive view as show_inbox, with tabs for Mail, Newsletters (archive all, unsubscribe) and VIPs & rules (VIP people and domains, blocked senders, cleanup). Call it when the person asks to triage, manage, or clean up their email without naming a specific list; pass pane to open on the tab that matches ("my newsletters" is pane newsletters, "who are my VIPs" is pane rules). Mail rows follow show_inbox's filters, ids and text fallback exactly; apps without the view get the mail list as text, and the other tabs through review_unsubscribes and get_triage_profile.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "triage"
  }
}

Input Schema

NameRequiredDescriptionDefault
paneNoWhich tab to open on. Default mail.
inboxNoInbox name (like "Work Gmail"), inbox id, or leave empty for all inboxes combined
limitNoRows per page, 1 to 50. Default 25.
sinceNoISO time. Applies to whichever filter is set, not only "since": combine it with any filter for a single call ("newsletters from this week" is filter: newsletters, since: <start of this week>). For filter "since" alone, defaults to when the person last finished triage.
filterNoneeds (default: unread or VIP mail in the inbox, newsletters left out, unread automated mail older than attentionDays left out), vip, newsletters, today, since (since the last triage), all, reply: mail from a person addressed to you that you have not answered
offsetNo
timeZoneNoThe person's IANA time zone, like America/Chicago, so "today" means their calendar day. Without it, "today" is the last 24 hours.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes further by disclosing the degradation path: apps without the interactive view get the mail list as text and other tabs via review_unsubscribes and get_triage_profile. It also states that Mail rows inherit show_inbox's filters, ids and text fallback exactly, which is real behavioral context. Minor tension: mentioning newsletter 'archive all, unsubscribe' affordances could momentarily read as in-tool mutation despite readOnlyHint=true, though these are UI actions routed to sibling tools rather than a genuine contradiction.

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?

Front-loads the identity of the tool and then layers when-to-call, pane mapping, and fallbacks in a tight single paragraph with no filler. The sentences are long and clause-dense, which slightly raises parsing cost, but every clause carries information.

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 7-parameter, zero-required view tool with no output schema, the description covers what the agent needs: when to call, how to choose the tab, and what happens when the interactive surface is unavailable. Return-value detail is only sketched (view vs text), but the fallback routing compensates.

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 already 86%, so the schema carries most parameter meaning. The description adds value beyond it by mapping natural-language requests onto `pane` enum values and by tying `filter`/`limit`/`inbox` behavior to show_inbox's semantics ('Mail rows follow show_inbox's filters, ids and text fallback exactly').

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+resource+scope: 'the one place to manage email', an interactive view with three named tabs (Mail, Newsletters, VIPs & rules). It explicitly anchors itself to show_inbox ('the same interactive view as show_inbox'), which lets an agent distinguish it from that sibling without opening either schema.

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

Usage Guidelines5/5

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

'Call it when the person asks to triage, manage, or clean up their email without naming a specific list' gives an explicit trigger plus the exclusion condition that routes elsewhere. It also tells the agent how to pick `pane` from the user's phrasing ("my newsletters" → newsletters, "who are my VIPs" → rules) and names the fallback siblings (review_unsubscribes, get_triage_profile).

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