Skip to main content
Glama

Postemi: Social Media Scheduler

create_post

Post, publish or schedule a social media post: a post on a Facebook page or LinkedIn, an Instagram post or Reel, a tweet or thread on X (Twitter), a TikTok or YouTube Short, a Pinterest pin, or a post on Threads, Bluesky, Telegram, Discord or Slack. You (the AI) write it; Postemi publishes it automatically now, at the scheduled time, or on many days, or saves it as a draft. Use it after the user confirmed the preview_post result.

Follow the rules get_integration_schema returned for each channel. One socialPost entry per channel and time; postsAndComments holds the post, then its thread parts (X, Threads, Bluesky) or comments (LinkedIn, Facebook). A LinkedIn post with one comment is one socialPost with two postsAndComments; 20 Facebook posts on 20 days are 20 socialPost entries with one each.

Call preview_post with the same payload first, show the user the account, @handle, local time and character counts, and call this only after they confirm. If a call returns an error, fix the parameters and try again.

Always pass an idempotencyKey (a UUID you invent). If a call times out or you are unsure it went through, resend the SAME request with the SAME key: you get the first result back and nothing posts twice. Without a key a blind retry can post twice in public; check list_posts first.

To undo, call delete_post with the returned postId, before it publishes.

Magyarul: poszt kitétele, posztolás, ütemezés, időzítés, közzététel, megosztás.

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": {
      "socialPost": "<socialPost>"
    },
    "name": "create_post"
  }
}

Input Schema

NameRequiredDescriptionDefault
socialPostYesIndividual post
idempotencyKeyNoOptional. A unique id you invent for THIS post (a UUID is ideal). If the call times out or errors and you are not sure whether it went through, send the SAME request again with the SAME key: you will get the original result back instead of a second post. Honoured for 24 hours. Use a NEW key for a genuinely new post — reusing a key with different content is refused.

Output Schema

NameRequiredDescriptionDefault
errorsNo
outputNo
noticesNoThings the user must be told about what was saved, e.g. links removed from an X post (X does not get links). Relay them.
replayedNoTrue when this result is a replay of an earlier call with the same idempotencyKey. Nothing new was created.

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?

Beyond annotations, it discloses automatic publishing, scheduling, draft saving, public double-post risk, timeout retry semantics, the 24-hour idempotencyKey window, and pre-publish undo via delete_post. These details add substantial behavioral context not covered by the annotations.

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 first sentence front-loads purpose and supported channels, followed by critical workflow and idempotency guidance. It is somewhat long and repeats idempotencyKey behavior that also appears in the schema, but nearly every sentence carries operational value for a complex multi-channel publishing tool.

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?

Given the rich annotations, 100% schema coverage, and output schema, the description supplies all missing operational context: preview-before-create, confirmation, per-channel grouping, idempotent retry, error recovery, and undo. An agent has enough information to invoke it correctly without guessing.

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 description coverage is already 100%, but the description adds useful grouping semantics: one socialPost entry per channel and time, and postsAndComments holding the post first followed by thread parts or comments depending on platform. It also reinforces the idempotencyKey as an agent-invented UUID, though most parameter mechanics are already in the schema.

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 uses specific verbs (post, publish, schedule) with a clearly defined resource (social media post) and enumerates many supported channels and post types. It distinguishes the tool from siblings by referencing preview_post, get_integration_schema, delete_post, and list_posts where relevant.

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 explicitly states the required workflow: call preview_post with the same payload, show the user account/handle/time/character counts, and call create_post only after confirmation. It also explains when to use delete_post to undo, when to check list_posts, and how to retry safely with idempotencyKey.

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.