Skip to main content
Glama
proton-mcp

proton-mcp

by RndmJoker

Remove a label

remove_label
Idempotent

Removes a label from a Proton Mail message while preserving its folder and other labels; only labels can be removed, never folders.

Instructions

Removes a label from a message. The message keeps its folder and its other labels, and does not go to trash. Only labels can be removed this way, never folders: a message always lives in some folder, and moving it is a different operation.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "messageId": "<messageId>",
      "label": "<label>"
    },
    "name": "remove_label"
  }
}

Input Schema

NameRequiredDescriptionDefault
labelYesThe label name, for example "Work". The "Labels/" prefix may be included and is optional. Use list_folders to see which labels exist. Labels are created in Proton itself, not here.
messageIdYesThe message id from a listing or a search, with or without angle brackets.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.11

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare non-destructive, idempotent behavior, but the description adds valuable specifics: the message keeps its folder and other labels and does not go to trash. It does not cover failure behavior when the label is absent or auth requirements, but those are minor given the idempotent annotation.

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 tight sentences: the action is front-loaded, followed by side effects and the key constraint. Every sentence earns its place and nothing is wasted.

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?

With two required parameters, full schema descriptions, and annotations, the description is complete for correct invocation. It covers the action, non-effects (folder/labels preserved, no trash), and scope exclusion (folders cannot be removed this way).

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%, and the schema already documents the optional 'Labels/' prefix and messageId format. The description adds no parameter-specific detail beyond what the schema provides, so the baseline of 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?

States a specific verb ('Removes') and resource ('a label from a message'), and distinguishes the scope from folder moves and trash operations. An agent can tell it apart from siblings like move_messages, trash_messages, and add_label without opening their schemas.

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?

Explicitly limits use to labels ('Only labels can be removed this way, never folders') and says moving is a different operation, routing the agent away from move_messages. It also clarifies the message does not go to trash, distinguishing it from trash_messages.

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