Skip to main content
Glama

update_post

Modify the text, first comment, per-account overrides, or scheduled time of a queued or draft post before it publishes. Applies only to pending or draft posts.

Instructions

Update content or scheduled time of a queued or draft post. Only pending/draft posts can be updated.

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": {
      "post_id": "<post_id>"
    },
    "name": "update_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
contentNoUpdated post text content.
post_idYesThe ID of the post to update.
per_accountNoUpdated per-account content overrides.
tiktok_titleNoTikTok video title/caption.
first_commentNoUpdated first comment text.
scheduled_timeNoUpdated scheduled time (ISO 8601).
tiktok_your_brandNoMark as promoting your own brand for TikTok commercial disclosure.
tiktok_disable_duetNoDisable duets on the TikTok video.
tiktok_privacy_levelNoRequired for TikTok accounts. Who can view the video.
tiktok_disable_stitchNoDisable stitch on the TikTok video.
tiktok_branded_contentNoMark as branded content for TikTok commercial disclosure.
tiktok_disable_commentNoDisable comments on the TikTok video.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.10.1
    • addedInput schema / properties / tiktok_branded_content
      Added value: +{
      +  "description": "Mark as branded content for TikTok commercial disclosure.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / tiktok_disable_comment
      Added value: +{
      +  "description": "Disable comments on the TikTok video.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / tiktok_disable_duet
      Added value: +{
      +  "description": "Disable duets on the TikTok video.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / tiktok_disable_stitch
      Added value: +{
      +  "description": "Disable stitch on the TikTok video.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / tiktok_privacy_level
      Added value: +{
      +  "description": "Required for TikTok accounts. Who can view the video.",
      +  "type": "string"
      +}
    • addedInput schema / properties / tiktok_title
      Added value: +{
      +  "description": "TikTok video title/caption.",
      +  "type": "string"
      +}
    • addedInput schema / properties / tiktok_your_brand
      Added value: +{
      +  "description": "Mark as promoting your own brand for TikTok commercial disclosure.",
      +  "type": "boolean"
      +}
  2. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full burden. It usefully discloses the state precondition (pending/draft only), but says nothing about permission requirements, whether the update is partial or replaces unmentioned fields (critical with 12 optional params), or what happens to a scheduled_time if only content is supplied.

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?

Two short sentences, zero waste, with the action front-loaded and the constraint immediately after. Nothing is padded or restated from the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter nested-object mutation tool with no annotations and no output schema, the definition is thin. The eligibility rule is helpful, but the omission of partial-vs-full update semantics and of the TikTok/per-account field families leaves an agent guessing about correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 12 parameters including the TikTok fields, so the baseline is 3. The description adds no syntax or behavioral meaning beyond naming "content" and "scheduled time," and it omits mentioning the TikTok-specific or per-account parameters entirely.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Update content or scheduled time of a queued or draft post") and narrows the resource to queued/draft posts, which distinguishes it implicitly from create_post, delete_post and duplicate_post. However, it under-describes the actual scope: the schema shows 12 updatable fields including TikTok disclosure settings, per-account overrides and first_comment, none of which the description hints at.

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?

Provides a clear eligibility constraint: "Only pending/draft posts can be updated," which tells the agent when this tool will not work. It stops short of naming alternatives for posts in other states (e.g., how to change a published or approved post), so it falls short of the explicit when/when-not/alternatives bar.

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