Skip to main content
Glama

Prepare a TikTok post

prepare_tiktok_post

Post one of the brand's finished videos to TikTok. TikTok requires the person posting to choose who can view the video, whether others may comment, Duet and Stitch, to declare promotional or branded content and to agree to TikTok's terms, so this opens Rawa's TikTok panel in the conversation where the user does all of that and submits. You cannot publish to TikTok yourself: there is no tool for it, submit_publication refuses TikTok, and you must not ask the user for those settings in chat or describe them as chosen. Pass the video's creativeId (TikTok takes one video, never an image), connectionId from list_integrations or nothing when the brand has a single TikTok account, a caption of up to 2200 characters that the user can still edit in the panel (write_caption can draft one in the brand's voice; one is needed to post), and scheduledAt to schedule it: an ISO 8601 timestamp with its offset, in the future. Without scheduledAt it goes out as soon as the user submits. Confirm the video, caption and time with the user before calling. When the panel says the post was submitted you are told its publicationId: use list_publications for its status. Rawa's TikTok app sends the video to the creator's TikTok inbox, where they finish posting it in the TikTok app (status awaiting_user_action until then). Where no panel appears, the post cannot be finished in this chat: give the user openInRawaUrl, which opens the video in Rawa, and tell them to publish it from there with Publish. Free. Needs an admin to allow publishing over MCP (see get_workspace). The prepared post lasts an hour; call again for a new one.

Input Schema

NameRequiredDescriptionDefault
brandIdNoA brand id from get_workspace or list_brands, or the brand's name. Omit it when the organization has a single brand.
captionNoThe caption to start from; the user can edit it in the panel.
creativeIdYesA finished video of the brand, from list_creatives, search_library or get_job.
scheduledAtNoWhen to publish, as an ISO 8601 timestamp with its offset, in the future. Omit to post once the user submits.
connectionIdNoThe TikTok account, from list_integrations. Omit it when the brand has a single TikTok account.

Output Schema

NameRequiredDescriptionDefault
nextYes
accountYes
captionYes
expiresAtYes
creativeIdYes
scheduledAtNo
openInRawaUrlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / brandId / description
      Previous value: -"A brand id from get_workspace or list_brands. Omit it when the organization has a single brand."New value: +"A brand id from get_workspace or list_brands, or the brand's name. Omit it when the organization has a single brand."
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only say it is a non-idempotent, open-world, non-destructive write; the description adds what actually happens: no publish occurs, a panel opens, the user submits, the app delivers to the creator's TikTok inbox with status awaiting_user_action, the prepared post expires after an hour, and the call is free but gated on an admin setting. It also warns against a specific failure mode ('must not ask the user for those settings in chat').

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?

The purpose is front-loaded and nearly every clause carries load-bearing information — permissions, fallback path, expiry, caption limit. It is a dense single block of long compound sentences, so it reads as a wall of text, but there is little outright waste to cut.

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?

For a five-parameter, non-idempotent, open-world write with a human-in-the-loop handoff, the description covers the full lifecycle: prerequisite permissions, what the agent must not do, what happens after submission, how to check status, and what to do when the panel never appears. An output schema exists, yet the description still names publicationId, which is a bonus rather than a 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 baseline is 3, but the description adds real semantics beyond the schema: creativeId must be a video and never an image, omitting connectionId is only valid for single-account brands, scheduledAt must carry an offset and be in the future, and omitting it means immediate posting on submit. Only brandId goes unmentioned, though the schema covers it.

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?

The opening names a specific verb and resource ('Post one of the brand's finished videos to TikTok') and the body clarifies the real action: it opens Rawa's TikTok panel where the user submits. It differentiates from submit_publication explicitly. However, the claim 'there is no tool for it' sits awkwardly against the sibling submit_tiktok_post, which an agent will see in the tool list, creating a moment of doubt about which path publishes.

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?

It gives explicit prerequisites (admin must allow publishing over MCP, see get_workspace), a pre-call ritual ('Confirm the video, caption and time with the user before calling'), sibling routing (list_integrations, write_caption, list_publications, get_workspace), and a when-this-fails branch pointing at openInRawaUrl. Nothing about selecting or invoking this tool 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources