Skip to main content
Glama

postfix_queue_message

Read-only

Inspect a single queued Postfix message to diagnose delivery delays: view queue, recipient states, delay reasons, route, DKIM alignment, and notes, with sensitive data redacted.

Instructions

One queued message, from its queue file (postcat -e -h; the body is never read): which queue it is in, arrival time and size, every envelope recipient with its state (pending / delivered / canceled) and, for pending ones, the delay reason with category, hint and provider playbook; the Received route oldest first (hosts, IPs, TLS, per-hop delay); DKIM signatures and whether they align with the From: domain; the primary headers; and notes (missing Message-ID/Date, unaligned DKIM, bulk mail without one-click unsubscribe, null sender, on hold). Always redacted: local parts become [user-N] (domains kept), display names, subjects and free-text headers are hidden, credential-like headers removed.

Input Schema

NameRequiredDescriptionDefault
queue_idYesone Postfix queue ID, e.g. 4F2A1C3B9D (short) or 4bNqJx2rG9z1Hk (long), from postfix_queue_list

Output Schema

NameRequiredDescriptionDefault
ageNo
dkimYes
hopsYes
notesYes
queueYes
senderYes
sourceYes
headersYes
queue_idYes
redactedYes
recipientsYes
age_secondsNo
from_domainNo
arrival_timeNo
message_sizeYes
sender_domainYes
recipient_domainsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.2

TDQS

A4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, but the description adds substantial context beyond them: the data source (postcat -e -h), the fact that the body is never read, and a detailed redaction policy covering local parts, display names, subjects, free-text headers, and credential-like headers. This is exactly the behavioral disclosure an agent needs before handling sensitive mail data.

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 identity ('One queued message, from its queue file') and every subsequent clause describes a real content category or behavioral constraint. It is dense but not wasteful; the long enumeration is justified by the tool's detail-oriented purpose, though it could be slightly tighter given an output schema exists.

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?

For a complex single-message inspection tool with one required parameter and an output schema, the description is complete: it covers source, content scope, redaction behavior, and notable edge-case notes (missing Message-ID/Date, unaligned DKIM, null sender, on hold). An agent has everything needed to call it correctly and interpret the privacy model.

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 coverage is 100% and the queue_id parameter is already documented with short/long examples and its source (postfix_queue_list). The description adds no additional syntax or format meaning beyond the schema, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource as 'one queued message' and enumerates the specific contents (envelope recipients, Received route, DKIM, headers, notes), which strongly distinguishes it from list/summary siblings. It lacks an explicit verb or sibling name in the description itself, but the scope is unmistakable.

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

Usage Guidelines3/5

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

Usage is implied: this is the deep-inspection tool for a single queue ID, and the schema notes the ID comes from postfix_queue_list. However, the description never states when to choose this over postfix_queue_shape, postfix_queue_summary, or postfix_log_trace, nor does it mention any exclusions.

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