Skip to main content
Glama

Plan and schedule a week of posts

plan_week

Writes one post per day for 1 to 7 days from a single topic, each day from a different angle and each platform in its own native format, and queues them to be published publicly at the given hour on each day starting tomorrow, through the connected accounts. Text only: platforms that require a video or photo (TikTok, YouTube, Instagram) are refused. Every platform must already be connected. The whole week counts as one AI draft toward the daily AI limit. Every day is written; days that do not fit in the plan's monthly post limit or in its scheduled-posts limit (Free: 3 waiting at a time) are saved as held (never published on the current plan; each says held_for) and are scheduled automatically when the plan is upgraded; the result then also gives that plan, its price and a checkout link. On a plan with a networks-per-post limit (Free: 2) each day goes out to the first platforms only, named in held_networks. Returns the queued and held items with their id, time and a preview of each platform's text; any of them can be canceled before it runs. If the brand's approval rules or a limit on this API key or connected app hold the post, nothing is published: the result has status "pending_approval", the post's id and approval_id, who was notified and a review link, and the post goes out once a person approves it from the emailed link or the PostWire dashboard — an AI assistant or an API key cannot approve it. A limit on this key or app can also refuse a post with code key_network_not_allowed, key_brand_not_allowed or key_monthly_cap_reached.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoHow many days, starting tomorrow. Default 5.
hourNoHour of the day to publish, on the timezone's clock. Default 10.
topicYesWhat the week is about, e.g. "our new autumn menu and the farmers behind it".
brand_idNoBrand whose accounts to use; omit for the default brand.
timezoneNoIANA timezone of that hour, e.g. "America/Lima". Default UTC.
platformsYesText-capable platforms to post to each day, e.g. ["linkedin","bluesky"].
brand_voiceNoOptional tone or style notes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / platforms / items / enum
      Previous value: -[
      -  "telegram",
      -  "bluesky",
      -  "mastodon",
      -  "discord",
      -  "tiktok",
      -  "youtube",
      -  "reddit",
      -  "linkedin",
      -  "facebook",
      -  "instagram",
      -  "x"
      -]New value: +[
      +  "telegram",
      +  "bluesky",
      +  "mastodon",
      +  "discord",
      +  "wordpress",
      +  "devto",
      +  "hashnode",
      +  "slack",
      +  "nostr",
      +  "tiktok",
      +  "youtube",
      +  "reddit",
      +  "linkedin",
      +  "facebook",
      +  "instagram",
      +  "x"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / platforms / items / enum
      Previous value: -[
      -  "telegram",
      -  "bluesky",
      -  "mastodon",
      -  "discord",
      -  "tiktok",
      -  "youtube",
      -  "reddit",
      -  "linkedin",
      -  "facebook",
      -  "instagram"
      -]New value: +[
      +  "telegram",
      +  "bluesky",
      +  "mastodon",
      +  "discord",
      +  "tiktok",
      +  "youtube",
      +  "reddit",
      +  "linkedin",
      +  "facebook",
      +  "instagram",
      +  "x"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / platforms / items / enum
      Previous value: -[
      -  "telegram",
      -  "bluesky",
      -  "mastodon",
      -  "discord",
      -  "tiktok",
      -  "youtube",
      -  "reddit",
      -  "linkedin",
      -  "facebook",
      -  "instagram",
      -  "x"
      -]New value: +[
      +  "telegram",
      +  "bluesky",
      +  "mastodon",
      +  "discord",
      +  "tiktok",
      +  "youtube",
      +  "reddit",
      +  "linkedin",
      +  "facebook",
      +  "instagram"
      +]
  4. Added

TDQS

A4.3/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 write; the description adds the real behavior an agent needs: week counts as one AI draft against the daily limit, over-limit days are saved as held_for and auto-scheduled on upgrade, networks-per-post limit truncates to held_networks, and approval rules force a pending_approval outcome with approval_id and a human-only review link. It even enumerates refusal codes (key_network_not_allowed, key_brand_not_allowed, key_monthly_cap_reached), which is far beyond what the annotations supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action is front-loaded in the first sentence, which is good, but the remainder is a dense single paragraph mixing limits, held behavior, approval flow, and error codes with internal redundancies (held restated with held_for and never published). It is informative but hard to scan and could be split into tighter sections.

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?

With no output schema, the description carries the full burden of return-value disclosure and does so: it describes queued and held items with id, time, and per-platform preview, cancellability before run, and the pending_approval payload including status, id, approval_id, notified parties, and review link. Nothing an agent needs to call or interpret the result is missing.

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 every parameter (days, hour, topic, brand_id, timezone, platforms, brand_voice) is already documented in the schema, and the description mostly restates the day range and hour semantics rather than adding format or syntax detail. The one added nuance is that platform eligibility is constrained to text-capable networks, but that is already implied by the enum and platform descriptions.

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 precise verb+resource and scope: writes one post per day for 1-7 days from a single topic, each day a different angle, each platform in native format, queued for public publication. That combination of per-day generation with multi-platform native formatting is specific enough to separate it from schedule_post, bulk_schedule, and generate_posts without opening their schemas.

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?

Gives clear preconditions and exclusions: text-only, platforms requiring video/photo (TikTok, YouTube, Instagram) are refused, and every platform must already be connected. It never names a sibling tool as the alternative for the non-text or single-post case, so it stops short of full when/when-not routing.

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.