Skip to main content
Glama

Schedule Saved Post

schedule_saved_post

Schedule one of the user's existing drafts or saved ideas on X, by its id from get_drafts or get_saved_ideas. Optionally cross-post to LinkedIn, Threads, BlueSky, Instagram, and/or TikTok.

  • The same post is scheduled in place, as in the SupaBird app. It keeps its text, images, video, and thread parts, and leaves Drafts / Saved. Do not pass new text; to change the text, use schedule_post with the new text instead.

  • Pass scheduled_date (ISO 8601, in the future), or next_free_slot: true to use the user's next free posting slot (today plus the next 7 days, skipping slots that already have a post). Confirm the time with the user when they did not give one.

  • Templates, posts that are already scheduled, published posts, trash, and Content Machine items cannot be scheduled with this tool. For an already scheduled post, unschedule_post first if the user wants a new time. For a Content Machine item, write an original post from it, then use schedule_post.

  • Cross-posting works like schedule_post: default is X only; only add also_post_to when the user asked. Instagram requires an image or video. TikTok requires a video or photo.

  • TikTok: before posting there, ASK the user who can see it (everyone, friends, followers, or only them) and whether it promotes their brand or is a paid partnership, and tell them "By posting, you agree to TikTok's Music Usage Confirmation". Pass their answers in tiktok. Never choose the visibility for them. TikTok can take a few minutes to process before the post shows on their profile.

  • After a successful publish, show published_urls as clickable links. To cancel later, use unschedule_post with the returned post_id.

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": "schedule_saved_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
tiktokNoRequired when TikTok is in also_post_to. Ask the user first; without it TikTok is skipped.
post_idYesThe `id` of the draft or saved idea from get_drafts or get_saved_ideas. Mongo ObjectId string.
post_to_xNoPost to X. Defaults to true. Set false only when the user wants other networks and explicitly not X.
also_post_toNoExtra networks besides X: 'linkedin', 'threads', 'bluesky', 'instagram', 'tiktok', and/or 'all'. Omit for X-only. Only set this when the user asked to cross-post. Instagram requires an image or video. TikTok requires a video or photo.
next_free_slotNoSet true to schedule at the user's next free posting slot instead of scheduled_date. Fails if the user has no free slot in the next 8 days.
platform_textsNoOptional per-network captions for the other networks when the post's text is too long or should differ.
scheduled_dateNoISO 8601 date-time for when the post should publish (e.g. '2026-03-05T14:30:00.000Z'). Must be in the future. Required unless next_free_slot is true.
threads_topic_tagNoOptional Threads topic tag (without #). Ignored unless Threads is in also_post_to.

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnly=false, destructive=false, openWorld=true, so the description carries real behavioral weight and does: the post is scheduled in place, retains text/media/thread parts, and leaves Drafts/Saved. It adds operational traits annotations cannot express — TikTok processing latency, mandatory visibility/partnership questions, and a legal notice the agent must surface before posting.

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 lead sentence followed by tight bullets, each covering a distinct failure mode or precondition. A few lines restate what the schema already says (the TikTok visibility/partnership questions, the Instagram/TikTok media requirements), costing some economy on an otherwise well-structured definition.

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 an 8-parameter, nested-object mutation tool with no output schema, the description covers prerequisites, validation constraints, network-specific requirements, async behavior, and the return surface ("show published_urls as clickable links", "use unschedule_post with the returned post_id"). An agent has everything needed to invoke and follow up correctly.

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 genuine semantics: next_free_slot means the user's next free slot within today plus 7 days skipping occupied slots, and scheduled_date must be a future ISO 8601 value. It omits platform_texts, post_to_x, and threads_topic_tag entirely, leaving those to the schema, which keeps it from a 5.

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 ("Schedule one of the user's existing drafts or saved ideas on X") plus identifying input source ("by its `id` from get_drafts or get_saved_ideas"). It explicitly distinguishes itself from the near-sibling schedule_post ("Do not pass new text; to change the text, use schedule_post"), so an agent can route correctly without opening either 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 exclusions (templates, already-scheduled posts, published posts, trash, Content Machine items) and names the correct alternative for each case (unschedule_post first; write an original post then schedule_post). It also states the default (X only) and the condition for adding cross-posting ("only add also_post_to when the user asked").

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