Skip to main content
Glama

postfix_doctor

Read-only

Diagnose Postfix server issues in one call: summarize queues, inspect deferred mail shape, review log outcomes, check SPF/DKIM/DMARC/PTR/MX, and get findings with next steps.

Instructions

One-call diagnosis of a Postfix server: queue summary, qshape of the deferred queue, log outcomes for the window, DNS authentication checks, and a list of findings with next steps.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ipsNosending IPs
sinceNolog window (default 24h)
domainNosending domain for DNS checks
skip_dnsNodo not run DNS checks

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dnsNo
logNo
queueNo
shapeNo
trendNo
configNo
findingsYes
identityYes
problemsYes
warningsYes
dns_errorNo
log_errorNo
queue_errorNo
generated_atYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false and idempotentHint=false, so the safety profile is covered. The description adds that multiple subsystems are queried (queue, logs, DNS) and that it returns actionable findings, but says nothing about cost, latency, DNS-check side effects, or what happens when data is missing. Useful but not rich behavioral context.

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?

A single front-loaded sentence: the key differentiator ('One-call diagnosis') comes first, followed by a compact enumeration. No filler or redundant restatement of the name.

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 an output schema present, the description need not explain return values, and annotations cover safety, so what remains is adequately covered. The one gap is routing among nine granular siblings, which a sentence of when-to-use guidance would close.

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 every parameter (ips, since, domain, skip_dns) is already documented in the schema. The description mentions 'the window' and 'DNS authentication checks' only obliquely and provides no syntax, defaults, or interaction guidance beyond that. Baseline 3 is appropriate when the schema does the heavy lifting.

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 and resource ('One-call diagnosis of a Postfix server') and then enumerates the exact components it aggregates (queue summary, qshape of deferred queue, log outcomes, DNS auth checks, findings with next steps). Because those components map onto sibling tools, an agent can tell this is the umbrella/diagnostic tool rather than any single-queue or single-log tool.

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?

The phrase 'one-call diagnosis' implies this is the broad sweep to use instead of running the granular tools, but the description never states when to prefer it over siblings like postfix_queue_summary or postfix_log_stats, nor any exclusions or prerequisites. Usage is inferable but not explicit.

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