Skip to main content
Glama
multi-mail

multi-mail

by yybd

Create a label

create_label

Creates a new mailbox label and returns its ID and name for organizing mail, supports slash-based nested labels, and fails if the label already exists.

Instructions

Create a new user label in one mailbox and return its id and name, ready for modify_labels. Use it when the user wants mail filed under a label that list_labels does not show yet. A "/" makes a nested label, e.g. "Projects/Acme". Fails if a label with that name already exists. Only for accounts connected with --labels.

Input Schema

NameRequiredDescriptionDefault
nameYesThe new label's name; "/" nests it under a parent.
accountNoWhich mailbox: email address, alias, or local part. Optional when only one account is connected.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare write/non-destructive/non-open-world; the description adds the missing context an agent needs: the return payload (id and name) feeding modify_labels, the duplicate-name failure mode, and the account-level connection requirement. It also documents the '/' nesting behavior as a mutation semantic.

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-loaded with the action and return value, then trigger, then edge cases, then prerequisite — every sentence carries information. Minor redundancy in restating the '/' nesting rule that the schema already explains.

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?

No output schema exists, yet the description names the returned fields (id, name) and their purpose, so an agent knows what it gets back. For a 2-parameter write tool with annotations, nothing material is missing.

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 100%, so both parameters are already documented, and the description's nesting note largely restates the schema's own "'/" nests it under a parent" text. It adds the concrete example "Projects/Acme" but no new constraints such as name length or character rules, so baseline 3 applies.

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 ("Create a new user label") plus scope ("in one mailbox") and outcome ("return its id and name"). It is clearly separable from list_labels (read) and modify_labels (apply to messages) named in the same sentence.

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?

Explicit trigger: "when the user wants mail filed under a label that list_labels does not show yet," which both names the sibling to check first and the condition that selects this tool. It also gives a hard prerequisite ("Only for accounts connected with --labels") and a pre-condition failure (name already exists), leaving little to inference.

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