Skip to main content
Glama
PlanPost MCP Server
by lukBB

get_delivery_report

Read-onlyIdempotent

Returns a consolidated delivery report of issues needing attention: failed posts, unhealthy connections, pending or expired approvals, preflight risks, stalled sources, and queues with waiting drafts.

Instructions

The morning check: everything that needs the user's attention about delivery. Posts that failed or partially failed in the last days days with each platform's error and fix, connections whose health went dead or degraded, pending approvals whose slot is within 48 h or already passed, approvals that expired (their posts are drafts again), scheduled posts in the next 7 days that would fail preflight if dispatched now, auto-import content sources that stopped fetching, and posting queues with free slots this week while drafts wait. Same data as the 08:00 digest e-mail. Empty hasIssues: false means nothing to do.

Input Schema

NameRequiredDescriptionDefault
daysNoLook-back window in days for failures and connection changes (default 1)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower; the description still adds real behavior: the `days` look-back applies only to failures and connection changes, while approvals use a fixed 48 h window and scheduled-post preflight uses 7 days. It also surfaces a return-field convention (`hasIssues`) that no output schema documents, though it does not describe the result shape beyond that flag.

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 the one-line intent ('the morning check'), followed by a dense but purposeful enumeration and two short closing sentences on provenance and the empty-result signal. The category list is long but every clause maps to distinct coverage, so nothing is padding; a bulleted list would read slightly better than the single run-on sentence.

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?

For a multi-domain aggregate with one optional parameter and no output schema, the description covers what sections exist and how to interpret an empty result, which is the decision-critical information. It leaves the exact per-section response fields undocumented, a modest gap given there is no output schema to fall back on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already defines `days` as a 1–30 day look-back with default 1, so baseline is 3. The description adds meaning by scoping it: the window governs failures and connection health changes only, not the fixed 48 h approval and 7-day scheduling windows, which prevents the agent from assuming a single global time filter.

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?

Names a concrete deliverable ('morning check') and then enumerates exactly what it aggregates: failed/partially failed posts with per-platform errors, dead or degraded connections, approvals pending within 48 h or expired, at-risk scheduled posts, stalled content sources, and queues with free slots. The scope is distinguishable from siblings like list_pending_approvals or retry_failed because it is explicitly a cross-domain digest rather than a single-resource query.

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?

Frames the usage context strongly ('the morning check', 'same data as the 08:00 digest e-mail') and tells the agent what an empty result means ('hasIssues: false means nothing to do'). It stops short of explicitly naming alternatives for drilling into a single category (e.g. use list_pending_approvals for just approvals), so the when-not is only implied.

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