Skip to main content
Glama

Update post

postfjord_update_post
DestructiveIdempotent

Changes one existing draft or scheduled post; for the same change on many posts use postfjord_bulk_update_posts, and for a new post postfjord_create_draft. Only send the fields to change. scheduledAt: an ISO date-time schedules, null turns it back into a draft. bioLink alone, or videoPage alone, also works on a published post. Send targets..aspect and fit to change how a channel shows its pictures. 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>"
    },
    "name": "postfjord_update_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
linkNoURL for platforms that support links in the text. An empty string removes it.
intentNogive or ask; null clears the label.
pillarNoContent pillar label; null clears it.
postIdYesA post id, from postfjord_list_calendar or postfjord_create_draft.
bioLinkNoWhere a tap on this post on your link in bio page goes. Never added to the post. On update, send it alone to change it on a published post (needs a key that may publish). An empty string removes it.
targetsNoPer-channel changes keyed by channel id.
baseTextNoThe new post text for every channel without its own text in targets.
mediaIdsNoReplaces the media: ids from postfjord_list_media, in display order.
videoPageNoThe video page switch. Send it alone to switch the page of a published video on or off (needs a key that may publish). Turning it on for a published video without a page makes one, which counts toward the plan's video pages for the month.
channelIdsNoReplaces the channels: ids from postfjord_list_channels.
scheduledAtNoISO 8601 date-time with its time zone offset, e.g. 2026-09-10T08:00:00-04:00 (a time without one is refused). null turns a scheduled post back into a draft.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / baseText / description
      Added value: +"The new post text for every channel without its own text in targets."
    • addedInput schema / properties / channelIds / description
      Added value: +"Replaces the channels: ids from postfjord_list_channels."
    • addedInput schema / properties / link / description
      Added value: +"URL for platforms that support links in the text. An empty string removes it."
    • addedInput schema / properties / mediaIds / description
      Added value: +"Replaces the media: ids from postfjord_list_media, in display order."
    • addedInput schema / properties / pillar / description
      Added value: +"Content pillar label; null clears it."
    • addedInput schema / properties / postId / description
      Added value: +"A post id, from postfjord_list_calendar or postfjord_create_draft."
    • addedInput schema / properties / targets / description
      Added value: +"Per-channel changes keyed by channel id."
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that bioLink/videoPage edits on a published post need a key that may publish, that enabling a video page consumes the monthly plan quota, and that targets fit replaces the channel's entire fit map. Those are auth, cost and overwrite semantics the annotations (destructiveHint, idempotentHint) cannot convey.

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 correctly: the single-post scope and the sibling routing come first, edge cases after. It is dense and the picture/fit guidance runs long, but each sentence carries actionable instruction for a tool with nested per-channel objects.

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 an 11-parameter, nested-object mutation with no output schema, it covers the risky paths (partial update, published-post restrictions, fit replacement, preview loop) that an agent would otherwise get wrong. It does not say what the call returns after a successful change, which is the one remaining gap.

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 schema already defines every parameter; the description still adds operational meaning beyond it: scheduledAt null reverts to draft, bioLink/videoPage must be sent alone on published posts, and fit { mode: 'whole' } is the remedy when a crop would cut people or words. It does not cover the remaining parameters (channelIds, mediaIds, baseText) in prose, but the schema handles those.

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?

Opens with a specific verb, resource and scope: 'Changes one existing draft or scheduled post'. It then names the two siblings it is not (postfjord_bulk_update_posts for many posts, postfjord_create_draft for new posts), so the agent can route 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 and when-not-to-use rules: use bulk for many posts, create_draft for a new one, send only the fields to change. It also states the published-post exceptions (bioLink alone, videoPage alone) and mandates postfjord_preview_post before scheduling, with a concrete remediation path (set fit to whole, then preview again).

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