Skip to main content
Glama

Schedule post

postfjord_schedule_post
Idempotent

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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "postId": "<postId>",
      "scheduledAt": "<scheduledAt>"
    },
    "name": "postfjord_schedule_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
postIdYesA post id, from postfjord_list_calendar or postfjord_create_draft.
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. Changed1 schema field changed
    • addedInput schema / properties / postId / description
      Added value: +"A post id, from postfjord_list_calendar or postfjord_create_draft."
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, so the retry-safety sentence is partly redundant. But the description adds genuinely new behavior: the response may carry warnings, a warning never blocks the schedule, and targets can shape pictures in the same call. That is real context beyond the structured fields, though the warning taxonomy is only illustrated by one example.

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 scope sentence and sibling routing, which is the right order. The picture paragraph is long and repeats the whole/preview loop twice ('then preview again'), so it is slightly over-sized, but nearly every sentence carries an instruction the agent must act on.

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 mutation tool with no output schema, the description covers prerequisites (existing draft, preview first), a safe dry-run path, non-blocking warnings and the targets workflow. Only the precise shape of the success answer (e.g. what a scheduled confirmation contains) is left implicit.

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%, so the baseline is 3. The description earns above that by explaining the intent of targets ('set the picture shape and fit of channels in the same call') and giving an actionable rule for the fit mode ('set that picture's fit to { mode: "whole" }' when a crop would cut people or words), which the schema defines mechanically but does not tell the agent when to choose.

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 ('Puts a time on one draft that already exists; Schedules an existing draft at an ISO 8601 date-time') and explicitly distinguishes itself from postfjord_create_draft (new posts) and postfjord_bulk_update_posts (many posts). An agent can route correctly 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 when-to-use routing against siblings, a required pre-flight sequence ('Send dry_run: true first', 'Before scheduling, call postfjord_preview_post and show the person the picture'), and a concrete remediation path for cropping problems. This is a full operating procedure, not just context.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources