Skip to main content
Glama

schedule_post

Destructive

Schedule a post to ONE connected account at a given time, or publish it immediately with scheduled_at="now". This queues real content for a real audience — show the user the exact text, account and time and get explicit approval first. To post the same content to several accounts, call once per account with the same post_batch_id. The user's post signature is appended server-side, and the safety gateway may refuse a post (account health, daily limits, duplicates).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tag_idsNoUp to 20 post tag UUIDs to apply.
platformYesPlatform of that connected account (must match it).
media_urlsNoUp to 10 publicly reachable media URLs to attach.
variant_idNoUUID of the draft (from list_drafts or generate_posts) this post was made from; marks that draft as scheduled.
content_textYesPost text, 1–5000 characters.
scheduled_atYesISO 8601 datetime with timezone (e.g. 2030-01-01T09:00:00Z), or "now" to publish immediately.
first_commentNoOptional first comment posted under the post (max 2200 characters).
platform_metaNoPlatform-specific publish settings, passed through to the publisher. Examples: Reddit { subreddit, flairId }, Pinterest { board }, Discord/Slack { channelId }, YouTube { title, privacyStatus }, Hashnode/Medium { publicationId }, Listmonk { listId, templateId }, Lemmy { communityId }, Skool { groupId }. Look up valid ids with list_publish_options.
post_batch_idNoUUID shared by every call that posts the same content to different accounts, so they can later be managed together.
connected_account_idYesConnected account UUID — from list_connections.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true, idempotentHint=false, openWorldHint=true, but the description adds non-obvious behavior: the post signature is appended server-side, and a safety gateway can refuse the post for account health, daily limits, or duplicates. It also warns that this queues real content for a real audience, which is meaningful side-effect context beyond the structured hints.

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?

Four tightly written sentences, front-loaded with the core action and scope, then the approval requirement, then the multi-account pattern, then the caveats. No filler; every sentence carries operational value.

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 a mutation tool with strong annotations, the description covers the safety profile, approval gate, and refusal conditions well. There is no output schema, however, and the description never says what a successful call returns (e.g., post id, scheduled time, batch id), which leaves a small gap for an agent that needs to chain a follow-up call.

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 coverage is 100%, so the schema already documents all ten parameters in detail (enums, ranges, id lookups). The description reinforces scheduled_at="now" and clarifies the post_batch_id calling pattern, but does not add meaning for media_urls, variant_id, first_comment, tag_ids, or platform_meta beyond what the schema provides. Baseline 3 for high-coverage schema is appropriate.

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 a post'), pins the scope to ONE connected account, and covers the immediate-publish variant via scheduled_at="now". It also distinguishes the single-account case from the multi-account pattern (call once per account with the same post_batch_id), so an agent can separate it from generic schedule_* siblings.

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 (schedule to one account or publish now) and an explicit alternative pattern for a common adjacent need (posting to several accounts → one call per account with a shared post_batch_id). It also states the precondition that the agent must show text/account/time and get explicit user approval before calling.

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.