Skip to main content
Glama
anitalklausen

gmail-multi-mcp

modify_labels

Add or remove Gmail labels by name or ID on a specific message to mark read, archive, star, or organize mail.

Instructions

Add/remove labels by name or id. Examples: mark read = remove ['UNREAD']; archive = remove ['INBOX']; star = add ['STARRED'].

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accountYes
add_labelsNo
message_idYes
remove_labelsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it largely does not: it is a mutation tool but says nothing about reversibility, permissions, error behavior on unknown labels, or whether unmentioned labels are preserved. The examples do convey that Gmail semantics collapse 'archive' into label removal, which is useful but narrow.

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, operation stated first, then three dense examples. Every clause earns its place and nothing is padded.

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

Completeness2/5

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

For a mutation tool with zero annotation coverage, no output schema, and 0% parameter documentation, the description should at minimum clarify the required identifiers and the response/error surface. It leaves both the account/message_id semantics and the result shape unstated, so an agent cannot call it confidently without trial and error.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. 'By name or id' does clarify the value format for add_labels/remove_labels, but the two required parameters (account, message_id) are entirely undefined in both schema and description — an agent cannot tell whether account is an email, an alias, or an id.

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 pair (add/remove) and resource (labels), with concrete examples that pin down the Gmail label semantics. It does not explicitly name the sibling it is distinguished from (list_labels), but the 'archive = remove [INBOX]' example implicitly separates it from trash_email.

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

Usage Guidelines4/5

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

The three worked examples (mark read, archive, star) map common intents directly onto the call, which is strong implied guidance for when to use it. However it never states when NOT to use it, nor which tool handles the related intents it does not cover.

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