Skip to main content
Glama

Schedule post

postfjord_schedule_post
Idempotent

Schedule an existing draft at an ISO 8601 date-time; run a dry run first to check blockers and per-channel picture fit before publishing.

Instructions

Puts a time on one draft that already exists; a new post is made with postfjord_create_draft, and many posts are moved with postfjord_bulk_update_posts. Schedules an existing draft at an ISO 8601 date-time. Safe to retry: the same time again changes nothing. Send dry_run: true first to check it without scheduling. The answer may hold warnings, for example a post that asks readers to comment a word on a channel where nothing answers it: tell the person and offer to change the words or make the automation; a warning never stops the schedule. targets may set the picture shape and fit of channels in the same call. Pictures: every channel sends its own shape. Before scheduling, call postfjord_preview_post and show the person the picture of each channel. Where a crop would cut off a person (a head, hands, feet) or words in the picture (a poster, a menu, a quote), set that picture's fit to { mode: "whole" } in targets, or move focus to what must stay, then preview again.

Input Schema

NameRequiredDescriptionDefault
postIdYes
dry_runNotrue: schedule nothing, and answer whether it would be scheduled (ok, blockers), on which channels, at what time in the workspace time zone, and the problems.
targetsNoPer channel id: aspect and fit, as in postfjord_update_post. Other channel fields are changed with postfjord_update_post.
scheduledAtYesISO 8601 date-time with its time zone offset, e.g. 2026-09-10T08:00:00-04:00. A time without one is refused.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (idempotent, non-destructive, openWorld), it discloses that warnings can be returned, that a warning never blocks the schedule, and what the agent should do with a warning (tell the person, offer fixes). It also states that retries are a no-op and that preview should precede scheduling, which is real workflow context rather than a restatement of idempotentHint.

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 scope and sibling routing, then dry-run, warnings, and picture guidance in a sensible order. Slightly redundant in restating the core action twice ('Puts a time on one draft' / 'Schedules an existing draft at an ISO 8601 date-time') and the picture/fit paragraph is long, but every part carries actionable content.

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, yet the description covers what comes back (warnings) and how to handle it, plus the sequencing with preview_post and dry_run. For a nested-parameter scheduling mutation, an agent has everything needed to call it safely and interpret the result.

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 75% and the nested fit/aspect docs are already rich, so the schema does much of the work; the description still adds decision value by specifying that scheduledAt needs an offset and by giving a concrete criterion for choosing fit mode 'whole' (cuts through people or words in the picture). It does not explain the 'targets' replacement semantics itself, deferring that to the schema.

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 description opens with a specific verb and resource ('Puts a time on one draft that already exists') and explicitly contrasts it with postfjord_create_draft (new posts) and postfjord_bulk_update_posts (many posts). An agent can choose this tool over its two nearest siblings without opening any schema.

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

Usage Guidelines5/5

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

Gives explicit routing rules ('a new post is made with create_draft, and many posts are moved with bulk_update_posts'), a recommended pre-flight sequence ('Send dry_run: true first', 'Before scheduling, call postfjord_preview_post'), and a conditional remediation path for whole-fit. Nothing about when to use this versus alternatives is left to inference.

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

Deploy Server

Other Tools