Skip to main content
Glama
MelMayssonOwen

TimeToPost MCP server

Schedule / draft a post

schedule_post

Schedule social media posts for Instagram, TikTok, Twitter, and Pinterest. Manage platform-specific requirements like TikTok privacy settings and Pinterest boards, or create drafts for approval.

Instructions

Create a post. Provide a future ISO scheduledAt to schedule it (omit for a draft). platforms are provider keys like "instagram", "tiktok", "twitter", "pinterest". For TIKTOK, platformData.tiktok is REQUIRED and every field in it must be an answer YOU GOT FROM THE HUMAN: who can see the post (privacy), whether comments, duet and stitch are allowed, and whether it promotes their own brand or a third party. Never invent, assume or default those values, and never carry them over from a previous post: TikTok requires the creator to choose them with nothing pre-selected. Call get_tiktok_creator_info first to see the audiences this account may pick and which interactions it has switched off. An incomplete block is rejected naming the fields still missing; in a mixed request only TikTok is refused and the other platforms are still scheduled. TikTok needs mediaUrls and posts to ONE TikTok account at a time. For PINTEREST, mediaUrls must contain exactly one image URL, and platformData.pinterest.boardId is REQUIRED — call list_boards first to get a valid boardId; content becomes the pin description (≤500 chars), platformData.pinterest.title is the pin title (≤100 chars). Optional brand: a niche/play attribution tag for per-play engagement rollups (auto-registers; see list_brands) — NOT the AI BrandVoice writing-style profile. Writing style for any post content you draft: write like the account's human owner, not like an AI. NEVER use em-dashes or en-dashes (—, –) or double hyphens (--); use a period, comma or colon instead. Skip hashtag spam (0-1 hashtags), filler openers ("Exciting news!") and rocket/sparkle emoji. Before drafting, read the account's recent posts with list_posts and match their voice, casing and rhythm. CAPABILITY: draft when scheduledAt is omitted (creates a DRAFT that never goes out on its own); publish when scheduledAt is set, because the scheduler will push it to a live audience. A draft-scoped token that passes scheduledAt gets a 403 — drop scheduledAt and hand the draft to a human.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
brandNoBrand/niche tag for per-play engagement rollups (auto-registers)
threadNoX/Twitter thread: tweets 2..N published as chained replies to content
contentYesPost text/caption
mediaUrlsNoOptional media URLs
platformsYesTarget platform provider keys
scheduledAtNoISO-8601 timestamp in the future; omit to save as a draft
platformDataNoPlatform-specific fields: pinterest pin fields, and the TikTok posting choices
Behavior5/5

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

Beyond annotations (readOnlyHint=false, openWorldHint=true), the description exposes critical behaviors: it discloses that scheduling 'will push it to a live audience', that TikTok values must never be invented or carried over, that an incomplete TikTok block is 'rejected naming the fields still missing', and that in mixed requests only TikTok is refused. It also mentions the 403 on authorization mismatch, adding substantial operational context.

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 description is dense and front-loaded, with the core purpose in the first sentence. However, it is quite long and somewhat repetitive (e.g., emphasizing 'from the human' in multiple forms). Each sentence adds value, but a minor trim would improve readability without losing information.

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?

Platform-specific requirements, style guidelines, and failure modes are thoroughly covered. However, the description does not explain what a successful call returns (no output schema is provided), nor does it mention how mediaUrls relate to the sibling upload tools (prepare_media_upload, upload_media, finalize_media_upload) — leaving some integration ambiguity for an agent.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds a wealth of meaning: TikTok fields must be human-provided and sourced from get_tiktok_creator_info; Pinterest requires exactly one image URL and maps content to the pin description (≤500 chars) and title (≤100 chars); `brand` is clarified as NOT an AI BrandVoice profile. This significantly enriches what the schema alone provides.

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?

The description opens with 'Create a post. Provide a future ISO scheduledAt to schedule it (omit for a draft).' which clearly states the verb, resource, and the two modes (schedule vs draft). It also distinguishes from siblings by explicitly naming the capability (`draft` vs `publish`) and platform-specific behavior.

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 direct prerequisites: 'Call get_tiktok_creator_info first...', 'call list_boards first to get a valid boardId', and 'Before drafting, read the account's recent posts with list_posts'. It also warns against using scheduledAt with a draft-scoped token ('gets a 403') and explains when to omit scheduledAt, providing clear when-to-use and when-not-to-use guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MelMayssonOwen/timetopost-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server