Skip to main content
Glama
googlarz

Proton Mail Bridge MCP

update_message_labels

Add or remove Proton label paths on one email without relocating it. Provide label names under Labels/ to update the message's labels.

Instructions

Add or remove Proton labels on a single message without moving it. Prefer bulk_update_labels to apply label changes across multiple messages. Labels live under the Labels/ namespace (e.g. 'Labels/Work'). Use for one message at a time. Create missing labels first with create_folder using a 'Labels/' prefix.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailIdYesComposite email id in FOLDER::UID format.
labelsToAddNoLabel paths to add, e.g. ["Labels/Work", "Labels/Receipts"]. The 'Labels/' prefix is optional and will be prepended if missing.
labelsToRemoveNoLabel paths to remove. Idempotent — silently ignored if the label is not applied.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.17.0
  2. Removedv1.13.11
  3. Addedv1.13.4

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only provide destructiveHint=false, so the description carries the behavioral disclosure burden. It adds meaningful context beyond that: the operation does not move the message, labels live under a namespace, and missing labels must be pre-created. It does not cover auth or exact failure modes, but the added detail is solid.

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?

The description is front-loaded with the core purpose and each sentence adds value: scope, alternative, namespace, and prerequisite. The only minor redundancy is saying 'single message' and then 'one message at a time,' which slightly costs conciseness.

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 simple tool with three fully documented parameters and no output schema, the description is complete enough: it covers purpose, when to use, alternative, namespace, and prerequisite. It does not detail error behavior when a label is missing, but the 'create first' guidance largely addresses that.

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 description coverage is 100%, so parameters are already well documented. The description adds helpful context about the 'Labels/' namespace and creating labels first, but does not introduce significant new parameter-specific semantics beyond what the schema states.

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 opens with a specific verb and resource: 'Add or remove Proton labels on a single message without moving it.' It distinguishes itself from bulk_update_labels and update_message_flags by emphasizing the single-message label operation and the 'without moving it' qualifier.

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?

It explicitly instructs the agent to prefer bulk_update_labels for multi-message changes and to use this tool for one message at a time. It also gives a clear prerequisite and alternative: create missing labels first with create_folder using a 'Labels/' prefix.

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

Deploy Server

Other Tools