Skip to main content
Glama

Schedule a post

schedule_post
DestructiveIdempotent

Schedule (or reschedule) an existing post for a future time, without editing its content. Give scheduledAt as an absolute ISO 8601 datetime (include the offset, e.g. 2026-07-05T09:00:00+03:00). Rescheduling replaces the previous time, which is not kept. At that time the post is published to its target accounts, where it is public — tell the user the accounts and the time. A time less than 15 minutes ahead is a publish under another name, so it waits for the user to confirm it — with the Publish button on the post card or on Ravenpost — and the post stays as it was until they do. A time in the past is refused rather than published immediately; use publish_post for that, and only on an explicit instruction.

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": {
      "postId": "<postId>",
      "scheduledAt": "<scheduledAt>"
    },
    "name": "schedule_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
postIdYesThe post id
scheduledAtYesISO 8601 datetime to publish at (include timezone offset)

Output Schema

NameRequiredDescriptionDefault
okNo
postNo
previewNo
warningsNo
awaitingConfirmationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

With annotations already declaring destructiveHint=true and idempotentHint=true, the description still adds substantial context: the previous time is not retained on reschedule, publication makes the post public to target accounts, times under 15 minutes enter a confirmation flow and the post stays unchanged until confirmed, and past times are refused rather than coerced into an immediate publish. This is exactly the kind of side-effect disclosure a mutation tool needs.

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 core behavior and the confirmation caveat are front-loaded before the edge cases, and nearly every sentence carries distinct information. The reference to specific UI surfaces ('Publish button on the post card or on Ravenpost') is slightly product-heavy but still helps the agent tell the user where to confirm.

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?

An output schema exists, so return values need not be explained, and the description covers the remaining gaps: time-zone format, reschedule semantics, public visibility, the near-future confirmation gate, and the past-time refusal route to publish_post. Nothing an agent needs in order to call it safely is missing.

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 baseline is 3; the description earns extra by specifying that scheduledAt must be absolute with an explicit offset and giving a concrete example format. It does not clarify postId beyond the schema, but that parameter is self-evident.

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 gives a specific verb and resource ('Schedule (or reschedule) an existing post for a future time') and explicitly carves out a boundary against the sibling update_post ('without editing its content'). An agent can distinguish it from publish_post and update_post without opening any 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?

It states when to use this tool, names the exact alternative for the out-of-scope case ('A time in the past is refused... use publish_post for that'), and adds that publish_post should only be used on explicit instruction. The confirmation path for near-future times is also spelled out.

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.