Skip to main content
Glama
proton-mcp

proton-mcp

by RndmJoker

Read mail filters in full

get_filters
Read-only

Retrieve full Proton Mail filter details—including enabled status, order, actions, and Sieve script—by IDs from list_filters, so you can inspect filters before changing, applying, or moving them.

Instructions

Returns one or several Proton Mail filters in full, by the ids list_filters gives: name, whether it is on, its place in the order, what it does to matching mail, and its complete Sieve script. Up to 20 at once. Read before changing, applying or moving a filter. Read through the user's own browser, so it needs the browser extension Proton MCP Helper and a signed-in Proton tab in Chrome; when either is missing the answer says which and what helps.

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": {
      "ids": "<ids>"
    },
    "name": "get_filters"
  }
}

Input Schema

NameRequiredDescriptionDefault
idsYesThe ids of the filters to read, from list_filters. One or several.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.1

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint=false; the description adds substantially more — a batch ceiling of 20, that the full Sieve script is included in the payload, and the non-obvious execution path through the user's own browser requiring the Proton MCP Helper extension plus a signed-in Proton tab in Chrome. It even discloses failure behavior ('when either is missing the answer says which and what helps'), which is exactly the kind of prerequisite an agent cannot infer from annotations.

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 purpose and return contents, then usage, then prerequisites, in a logical order. The final sentence about the browser extension is longer than it needs to be, but it conveys a prerequisite that must not be dropped, so the length is largely earned.

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?

There is no output schema, so the description compensates by enumerating the returned fields including the Sieve script. Combined with the batch limit, the mutation prerequisite, and the environment/dependency requirements, an agent has everything needed to call this correctly and to interpret a dependency-missing response.

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 single ids parameter is already documented as coming from list_filters with its pattern and item bounds. The description's 'Up to 20 at once' restates the schema's maxItems: 20 rather than adding semantics. Baseline 3 applies where the schema carries the parameter burden.

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 definition states a specific verb and resource ('Returns ... Proton Mail filters in full') and enumerates what comes back: name, enabled state, ordering position, action on matching mail, and the full Sieve script. It also anchors the id source to the sibling tool list_filters, so an agent can distinguish it from list_filters and from the mutation siblings (apply_filter, manage_filters, reorder_filters) without opening a schema.

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?

It gives an explicit usage window: 'Read before changing, applying or moving a filter,' which routes the agent here ahead of the mutation tools. It also names list_filters as the source of ids. It stops short of stating when not to use it (e.g., 'use list_filters for a lightweight overview'), so it is clear context rather than a full when/when-not/alternatives map.

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