Skip to main content
Glama
Commonpost MCP for Thunderbird

Commonpost MCP for Thunderbird

List Filters

listFilters
Read-onlyIdempotent

Lists Thunderbird mail filters (rules) for one or all accounts, including conditions and actions. Set confirmation to true to check pending or recent filter-change confirmations instead.

Instructions

List the mail filters (rules) of one account or all, with conditions and actions. With confirmation: true it instead reads, changing nothing, filter changes awaiting or settled by the user's confirmation in Thunderbird: pending, accepted (written), refused (or dialog closed), expired (no answer in 10 minutes) or failed (accepted, but the filters, account or setting changed: nothing written). Without confirmationId: the pending request, the recent ones and the limits (one pending, five dialogs per hour); with it: that request. MCP clients cannot accept, refuse or cancel a confirmation.

Input Schema

NameRequiredDescriptionDefault
accountIdNoAccount ID from listAccounts (omit for all accounts); ignored with confirmation
confirmationNoWhen true, return the state of the pending and recent filter confirmations instead of the filters (optional, default false)
confirmationIdNoWith confirmation: true, a confirmationId (from a pending_user_confirmation result) to read that one request

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.19.2
    • changedInput schema / properties / accountId / description
      Previous value: -"Account ID from listAccounts (omit for all accounts). Ignored when confirmation is true."New value: +"Account ID from listAccounts (omit for all accounts); ignored with confirmation"
    • changedInput schema / properties / confirmationId / description
      Previous value: -"With confirmation: true, the confirmationId returned with status pending_user_confirmation, to read that one request (optional; ignored unless confirmation is true)"New value: +"With confirmation: true, a confirmationId (from a pending_user_confirmation result) to read that one request"
  2. First observedv0.1.0

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already establish readOnly/idempotent/non-destructive, and the description goes well beyond them: it explains that the confirmation mode changes nothing, enumerates the five possible states including that 'accepted' means written, 'refused' means dialog closed, 'expired' means no answer in 10 minutes, and 'failed' means nothing was written. It also discloses operational limits (one pending confirmation, five dialogs per hour) and the client-side restriction, which are exactly the behaviors an agent cannot infer from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, but the second sentence is a long run-on with nested parentheticals and five enumerated states, making it hard to parse at speed. Nearly all content earns its place, but the delivery is denser than necessary and could be split into separate labeled sentences.

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?

With no output schema, the description usefully characterizes what both modes return, including the state vocabulary and what 'conditions and actions' means for filter records. Given the tool's low complexity and full schema coverage, this is close to complete; only per-filter field detail is left implicit.

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 all three parameters are already documented and the baseline is 3. The description restates the confirmation/confirmationId relationship rather than adding syntax or format detail beyond the schema, and its extra material concerns returned states rather than parameter semantics.

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?

Opens with a specific verb and resource ('List the mail filters (rules) of one account or all, with conditions and actions'), which is unmistakably distinct from siblings like updateFilter, createFilter, applyFilters and reorderFilters. It then explicitly names the second mode (confirmation: true) and what it returns, so an agent can tell both behaviors apart without opening the 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?

Gives clear conditional guidance: omit accountId for all accounts, use confirmation: true to read confirmation state, use confirmationId to narrow to one request, and no confirmationId to see pending plus recent requests and limits. It also draws a capability boundary ('MCP clients cannot accept, refuse or cancel a confirmation'), which steers the agent away from a futile action. It does not name sibling tools as alternatives, so it falls short of an explicit when/when-not rubric.

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