Skip to main content
Glama

Update a post

update_post
Destructive

Updates an existing unpublished post; omitted fields are preserved. Changing scheduled_at changes when it publishes publicly; publish_now publishes it immediately. Not idempotent when publish_now is set.

Input Schema

NameRequiredDescriptionDefault
captionNoOmit to preserve the existing caption.
post_idYes
media_idsNoPreviously uploaded media IDs. Omit on updates to preserve media.
publish_nowNoPublish immediately instead of saving a draft. Requires workspace opt-in.
scheduled_atNoFuture ISO-8601 timestamp including Z or an explicit offset.
content_pillarNoExact content pillar name from list_social_accounts.
platform_captionsNoCaption strings keyed by platform or platform:account_id.
social_account_idsNoAccount IDs from list_social_accounts, not platform names.
platform_configurationsNoPlatform-specific settings keyed by platform. On updates, the fields you send are merged into the stored settings; omitted platforms and fields keep their values.

Output Schema

NameRequiredDescriptionDefault
codeNoStable machine-readable error code. Present only for an error result.
dataNoThe workspace-scoped post.
errorsNoValidation messages keyed by input field.
issuesNoStructured validation issues.
messageNoSafe error summary. Present only for an error result.
retry_afterNoSeconds to wait before retrying a rate-limited request.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuine value beyond them: partial-update/merge semantics ('omitted fields are preserved') and the conditional nature of non-idempotency ('not idempotent when publish_now is set'), which is more precise than the blanket annotation. It stops short of covering permission requirements or error behavior on already-published posts.

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?

Three tight sentences, each carrying distinct information (scope, publish semantics, idempotency caveat) with no repetition of the schema. The most important constraint, the unpublished-post scope, is front-loaded.

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?

An output schema exists, so return values need not be explained, and the description covers scope, merge behavior, and publishing side effects for a 9-parameter nested tool. It omits what happens when the target post is already published and whether publish_now's workspace opt-in failure mode matters, leaving minor gaps.

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 description coverage is 89%, so the baseline is 3, but the description adds consequence-level meaning the schema does not: that scheduled_at controls when the post publishes publicly and that publish_now triggers immediate publication. It does not clarify post_id, social_account_ids, or platform_captions beyond 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?

Specific verb (updates) plus resource (an existing unpublished post) with an explicit scope constraint that separates it from create_post, publish_post, and schedule_post. An agent can identify the tool's domain without opening the schema.

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?

Explains the two meaningful usage modes: changing scheduled_at alters public publish time, and publish_now publishes immediately. It does not, however, name sibling alternatives (e.g., publish_post or schedule_post) or state when to prefer them, so the routing is implied rather than explicit.

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