Skip to main content
Glama

List mail folders

mail_list_folders
Read-onlyIdempotent

Lists top-level Outlook mail folders with IDs, unread and total counts. Pass includeChildren to retrieve subfolders; use returned IDs to fetch messages.

Instructions

Lists the top-level Outlook mail folders with their ids, unread counts and total counts, 50 per call by default. Pass includeChildren to also get one level of subfolders. Only top-level folders are returned otherwise, so a nested folder needs a second call. Use an id from here as folderId in mail_list_messages, though the well-known names (inbox, archive, sentitems) work there without looking anything up.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNoHow many top-level folders to return. Defaults to 50.
includeChildrenNoAlso return one level of subfolders under each top-level folder. Nesting deeper than one level needs a second call with that folder as the parent.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses pagination behavior (50 per call by default), the nesting limitation (only one level with includeChildren), and the requirement for a second call otherwise. It also reveals the output fields (ids, counts) and cross-tool contract (folderId reuse), giving an agent a clear picture of runtime behavior without needing to inspect schemas.

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?

Three sentences, each carrying distinct information: what is returned and default page size, how to expand nesting, and how to use the result with a sibling tool. The most critical facts are front-loaded, and there is no filler or redundancy.

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 the lack of an output schema, the description names the fields returned (ids, unread counts, total counts), states the default pagination, explains the nesting behavior, and points to the dependent sibling – everything an agent needs to decide whether to call it and to interpret the result. The only minor omission is explicit error/edge-case handling, but that is not essential for a simple list tool with strong input schema coverage.

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?

The input schema already provides high-quality descriptions for both parameters (top default/range, includeChildren behavior), and the description's parameter mentions largely mirror that. The description adds minor value by reinforcing the 50-default and the second-call nesting nuance, but it does not meaningfully extend parameter meaning beyond the schema. Baseline 3 is appropriate.

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?

The description clearly states the action (lists), the resource (top-level Outlook mail folders), and the specific fields returned (ids, unread counts, total counts). It also distinguishes this tool from mail_list_messages by explaining how folder IDs feed into that sibling, avoiding ambiguity about which tool handles folders vs messages.

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?

The description gives explicit usage context: it clarifies that only top-level folders are returned by default, that includeChildren adds one subfolder level, and that a nested folder requires a second call. It also directly names the sibling tool (mail_list_messages) and explains when to use it with well-known folder names, providing a clear when-to-use and when-not-to-use alternative.

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